1 / 103

NI Certification Certified LabVIEW Developer Exam Preparation Course

NI Certification Certified LabVIEW Developer Exam Preparation Course. Purpose Of This Course. Prepare you to take the certification exam by: Reviewing the Certification & Examination Process Discussing the Topics of Often Missed Questions Showing Examples of Good Wiring Techniques

dheidt
Download Presentation

NI Certification Certified LabVIEW Developer Exam Preparation Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NI CertificationCertified LabVIEW DeveloperExam Preparation Course

  2. Purpose Of This Course • Prepare you to take the certification exam by: • Reviewing the Certification & Examination Process • Discussing the Topics of Often Missed Questions • Showing Examples of Good Wiring Techniques • Demonstrating Good VI Construction Techniques • Essentially a Collection of Topics and Tips for Taking the Certified LabVIEW Developer Examination

  3. Purpose Of This Course • This course will not give you the questions on the exam, however: • The topics presented are aimed at the most often missed questions • The answers to these often missed questions are part of the presentation

  4. Schedule of Topics • Certification Process • Examination Process • Written Examination Topics of special concern • Practical Examination topics of special concern • VI Construction • Wiring Techniques

  5. Benefits: Use of National Instruments Certification Logo Listing on ni.com/training

  6. Certification Process The Process ensures: • Credibility - Fair and Unbiased => Value! • Validity -It Evaluates Important items • Reliability -A Reliable Indicator of Proficiency

  7. Certification Process • The Candidate Submits an Application • The Candidate Takes the Examination • The Examination is Graded • Every Examination is Reviewed by at Least Two People • Ensures Objective Results • The Candidate Receives a Certificate and Logos • The Candidate’s Name is Placed on ni.com

  8. CLD Examination Details • Two parts: • Written • Written contains 40 Questions • 90 Minute Time Limit • All Multiple Choice Questions • Practical contains One Project: • Time Depends on Which Exam is provided • Usually 3 ½ to 4 ½ hours

  9. CLD Examination DetailsWritten Examination Instructions • Certified LabVIEW Developer Examination • Examinee ____________________________________________ Date: ____________ • Administrator _________________________________________ Date: ____________ • Instructions: • There are two sections in this examination. The first section is a set of forty multiple choice questions. The second section is a hands-on project creating a VI that conforms to a set of specifications. • Questions 1 through 31 each have one correct response. Questions 33 through 40 have one or more correct choices, and all correct responses must be selected to get credit for that question. You are not allowed to ask the proctor for help. If you believe the intent of a question is not clear, you may note that question, and your reasons for choosing the answer you believe best fits the question. Your comments will be taken into account and credit awarded appropriately when the exam is graded. • Each multiple choice question is worth 1.5 points, for a total of 60 points. The project is worth 40 points. The entire examination is therefore worth 100 points. The minimum passing grade is 75%. In addition to the total score, the written and practical components must each receive a passing grade as separate components. • This examination may not be taken from the examination area or reproduced in any way. A computer with LabVIEW is the only reference allowed for the examination. The time limit for Section 1 is 90 minutes. The time limit for Section 2 is stated in that section.

  10. CLD Examination DetailsTypical Exam Question Construction • Objective: • Describe the following options available on Front Panel Controls and Indicators • Visible Items • Make Current Value Default • Reinitialize to default • Synchronous Display • Enabled State • Autoscale • Exam Question: • Which of the following options determines whether a user can update a Front Panel Control’s value? • Autoscale • Enabled State • Synchronous Display • Make Current Value Default

  11. CLD Examination DetailsPractical Examination Instructions Introduction: Your company has received a contract to produce a ----------- system for a local manufacturer. The purpose of the ----------- system is to monitor the ------------- manufacturing --------------- to ------------- ----------- -------------- ------------- -----------. You have been assigned to create the software for this system using LabVIEW. You will create the software for six ------------- ------------, with the actual hardware being simulated by Boolean switches on the Front Panel. Requirements: Using a front panel similar to the graphic provided, create a VI that implements the ---------- system requirements listed in this section. All hardware components are to be simulated using LabVIEW controls and indicators. Your solution must consist of code created expressly for this exam using VIs and functions directly available in LabVIEW. Your solution should be hierarchical in nature. All major functions should be performed in SubVIs. The solution should not use 100% CPU time while running, and should respond to any front panel control change, including “Stop Simulation,” in less than 100mS. The resulting VI must be presented to the proctor in two forms. Recommended forms are 3 ½ inch floppy disk, CD-R, or email to mike.fillian@ni.com.

  12. Practical Exam Grading • Practicals are graded on three criteria: • Functionality • Programming Style • Documentation • Each of these criteria have approximately equal weights • The Practical must be passed independent of the written portion of the exam • Total practical grade is 40% of composite grade

  13. Functionality • Does the VI properly perform the requirements listed in the specifications? • Is the logic correct for Boolean inputs and outputs? • Does the VI respond to user inputs within the stated time limit?

  14. Style • Is the VI constructed in a professional manner? • Easily maintainable? • Constructed for scalability? • Does it use unnecessary Variables? • Does it improperly use Property Nodes? • Are there unnecessary structures? • Sequence Structures • Does it use 100% CPU time? • Logical layout with edges lined up Run Property Node Example

  15. Documentation • Wire data • If the data flowing through a wire is not clear, a specific label should indicate the purpose of that data • Function of code segments • Segments of code should have labels describing the function of that code • Controls and indicators have descriptive names • Standard labels are yellow (found on String SubPalette)

  16. Written Examination Topics David BonalCourse Development Engineer

  17. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  18. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  19. Booleans • Many programmers do not understand the functionality of mechanical action of booleans • Switch action: Control is toggled until changed by hand • Latch action: Control reverts to default state when read by diagram

  20. Booleans • Where to get help: Help>>Find Examples>>Building User Interfaces>>General>>Mechanical Action of Booleans

  21. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  22. Memory • The most common and most mysterious reason for poor performance of VIs • LabVIEW handles memory management automatically • No need to code when to allocate or deallocate • You have less control over when memory operations occur

  23. Memory • Data is always loaded • Code is loaded if platforms match (MacOS, Windows, Sun, Linux) • Panel and Diagram are loaded if needed (recompiling) VI Component Memory Usage Front Panel Block Diagram Front Panel Block Diagram Code Data Space Code Data Space Main VI SubVI Always in memory Resident sometimes

  24. Memory Coercion and Consistent Data Types • Coercion dots imply a conversion of data types • In general, the compiler creates a new buffer to store the converted data • Affects performance

  25. 8 kB 8 kB 4 kB for FP copy 4 kB for FP copy 8 kB 8 kB 4 kB 4 kB for FP copy 4 kB Memory Method 1 (Incorrect) Method 2 (Incorrect) Coercion and Consistent Data Types 4 kB to convert to SGL 4 kB for copy to SGL 4 kB to convert to SGL 24 kB total 28 kB total Method 3 (Correct) 12 kB total

  26. Memory Building Arrays Terrible Method

  27. Memory Building Arrays Slightly Better Method

  28. Memory Building Arrays Good Method

  29. Memory Building Arrays Best Method

  30. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  31. Multithreading Overview • Specific tasks within an application are subdivided • Provides “pseudo-parallelism” • Threads are automatically handled in LabVIEW • Seven execution systems • Five available priorities

  32. Operating System 2000/NT/9x, Sun Solaris 2, and Linux LabVIEW User Interface Standard Instrument I/O Data Acquisition Other 1 Other 2 Same as Caller VI Multithreading Architecture

  33. Multithreading Priorities • Priorities control when a VI is executed within the thread • Five priorities • Background • Normal • High • Time Critical • Subroutine

  34. Multithreading Issues • SubVI calls are relatively expensive • Calling a subVI in a different execution system can be really expensive • Biggest issue = THREAD SWAPS Multithreading Demonstration

  35. Multithreading Issues - Deadlock • Deadlock occurs if each thread is requesting a resource held by the other Thread 1 Requested and Waiting Locks Resource B Resource A Requested and Waiting Locks Thread 2

  36. Multithreading Issues – Priority Inversion • A high priority task is requesting a locked resource from a low • priority task, causing a lower priority task to gain more CPU time High Thread 3 Resource Unavailable Running Priority Thread 2 Blocked Waiting Locks Resource Thread 1 Low Locks Resource Time

  37. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  38. Property Nodes Overview • Properties are characteristics or qualities about an object • Property nodes allow you to programmatically set and read the properties of front panel objects, including an object’s data value • Examples of properties: • Display colors of front panel objects • Visibility of front panel objects • Menu selections for a ring control • Scales and cursors on graphs • Size of front panel objects • Location of front panel objects

  39. Property Nodes Creating Property Nodes • Right-click on a panel object or its diagram terminal and choose Create»Property Node • Use the Operating tool to select which property to read or write

  40. Property Nodes Issues • Very fast to program, very slow to execute • Difficult to debug • Violates data flow programming • Property nodes located in a subVI will load the front panel into memory • Property nodes cause a thread swap to the User Interface thread • Property nodes execute serially, never in parallel

  41. Property Nodes Defer Panel Updates • When performing multiple control property changes on a graph, use “Defer Panel Updates” • Disables UI refresh until the property changes are complete

  42. Property Nodes Control References • Refnum to a specific front panel object • Allows you to control front panel objects with a subVI Control References Demonstration

  43. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  44. Variables Local Variable Overview • Use local variables to access front panel objects from more than one location in a single VI • Pass data between block diagram structures that you cannot connect with a wire

  45. Variables Global Variable Overview • Used to pass data among several VIs • “Pseudo-VI” without a block diagram • Multiple objects can be placed into one global Each control must have owned label Right-click using the Operating Tool Create the controls needed as global variables

  46. Sequential Code x = x * 5 x = x + 2 OR x = x + 2 x = x * 5 LabVIEW Code No clear data dependency exists, so the order of execution is not precisely known Variables Race Conditions

  47. Variables Issues • Each control or front panel object must have an owned label associated with it • Difficult to debug • Contributes to race conditions

  48. LabVIEW Topics t Nine Areas of Concern • Booleans • Memory • Multithreading • Property Nodes • Variables • DLL • ActiveX • VI Server • Synchronization

  49. Dynamic Link Libraries (DLL) Overview • An executable file that can never run on its own • Loaded by operating system as requested by application • Application uses dll code as part of its binary files • Application does not know what language dll was originally written in • Dll acts like a ‘black box’ with exported functions • Application need not know how these functions are actually implemented

  50. DLL Call Library Function Thread-Unsafe Runs in User Interface Thread (Orange) Thread-Safe Re-entrant Call Library Node (Yellow)

More Related