Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Call for better solutions to CLD success Package exercises (Reward points available)

All

 

Assigned myself Challenge 1 (Timer) - personally i think this should change to incorporate some form of pause functionality as most CLD exams require pausing of a time (car wash for example), this would bring it more into line with the exams and take it away from using the timer express vi which lets say has its limitations....

 

 

Let me know your thoughts.

 

Regards

 

Jono

J Hobson
Certified LabVIEW Architect
0 Kudos
Message 11 of 20
(1,070 Views)

Sorry, I was sidetracked with more important issues, but I posted a preliminary version of a #16 solution here. Please review.


LabVIEW Champion Do more with less code and in less time
0 Kudos
Message 12 of 20
(1,058 Views)

@JCH_26 wrote:

 

Assigned myself Challenge 1 (Timer) - personally i think this should change to incorporate some form of pause functionality as most CLD exams require pausing of a time (car wash for example),

Jono


I agree, knowing how to do an elapsed time with a pause ability is very useful for the CLD.

I'll be happy to take #15

0 Kudos
Message 13 of 20
(780 Views)

Hi all.  Happy to see some movement here!

 

On adding Pause to CLD 1:  Careful -- the exercises are intended to build.  Exercise 1 is an introduction to timing.  Exercise 2 introduces using an FGV for the timer, and Pause is added in Exercise 3. 

If the consensus is that it would be helpful to add Pause to the non-FGV timer using the Elapsed Time Express VI, perhaps it could be added as an "Extension" section, and the Extension solution saved separately.  Or perhaps you could take a look at CLD 3, verify that Pause is introduced & handled well.

Title Description
1 Elapsed Time Express Simple Timer using Express VI, Elapsed Time & Reset
2  Elapsed Time Express Caller Timer FGV using Express VI, Elapsed Time & Auto Reset
3 FGV Timer Timer FGV using Get Date/Time in Seconds, Elapsed Time, Auto Reset & Pause
4 Event Structure Time Out  
5 Parse Config Data File Read .ini, parse to  Cluster
6 CSV file utility Read/Write .csv, parse to Cluster Array
7 Time Stamp Parsing Parse Time Stamp to Strings
8 CSV file commands utility Read/Write .csv, parse to Cluster Array
9 Step Sequencer with Express Timer  
10 Elapsed Time Express VI Step Sequencer  
11 Producer Consumer  
12  Sequencer State Machine Sequence steps based on data loaded from a file.
13 Flow Rates  
14 Timer Application State machine, loads time targets from file, runs timer for  durations, with  pause and cancel
15 Text String Parsing Reads .csv then parse, processes, formats, and save data in a new .csv  file
16 State Machine with Enables and Disables  
17 GUI keypad Read keypad GUI, output in string and numeric format. 
Certification Engineer II
National Instruments

Certified LabVIEW Developer

0 Kudos
Message 14 of 20
(775 Views)

My solution for 15 is posted here (This is my non work account, -ATEENGE)

 

Also, I'd be happy to do another if desired.

0 Kudos
Message 15 of 20
(599 Views)

Hey Fisel,

 

I had a look at CLD Success Package solution #1, and revamped it. (Somehow I cannot create a new thread on the Certifications sub-forum, therefore I post in this thread.)

I implemented only two minor changes:

  • I removed the Close Reference function, as it would not perform anything on the implicit "This VI" reference (see section Exception in Closing References in LabVIEW).
  • I removed the "Unbundle by Name" that would unbundle the "Status" bool from the Error Wire before it gets passed into the OR function - no need to do that anymore. One could bring forward the argument that it shows the underlying functionality better for LabVIEW beginners, however removing it improves code readability.

Note: Currently, there is a flaw in the Exercise VI: The Front Panel provided contains an "Elapsed Time" String Indicator, however the Solution contains an "Elapsed Time (s)" Numeric Indicator (which is also shown in the Exercise 1 instructions PDF)! The Numeric Indicator makes much more sense, so in my eyes the Exercise VI needs to be changed as well.


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 16 of 20
(190 Views)

Hi ikaiser.  Thank you.  This looks pretty straightforward. 

  • I affirm removing the Unbundle by Name on the error wire.
  • I would like a little community input on removing the Close Reference. 
    • At minimum, I'd suggest a free comment "No need to close implicit reference, see http://www.ni.com/tutorial/14393/en/#toc1."  This level of documentation may go beyond best practice/expectations, but
      • These exercises are a teaching tool, this is one of the first exercises preparing for the CLD
      • Probably don't want to appear to model not closing references, I believe it's more harmful to unnecessarily close a reference than to leave open one you should have closed. 
    • Does the above logic suggest the VI Server Reference should also be removed?  It doesn't change functionality, but it does serve as self-documenting. 

Other opinions & comments please?

Thanks, all.  I'll be looking at other submissions next, realize there's a backlog. 

Certification Engineer II
National Instruments

Certified LabVIEW Developer

0 Kudos
Message 17 of 20
(176 Views)
Highlighted

Hey Fisel,

 

Thank you for your quick reply.


  • I would like a little community input on removing the Close Reference.
    [...]  

I agree that commenting it to explain would be a good solution. Both possible versions (closing + "explanation comment" or not closing + "explanation comment") tell the learning programmer why exactly happens there.

Not closing and not explaining why can lead to false conclusions, closing although it is not needed as well.


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 18 of 20
(151 Views)

I worked through Exercise 2 and found some things I'd like to improve.

 

Regarding the instructions pdf:

  1. It seems the wrong Front Panel screenshot was put into it: Top of page 1 states "use the Test VI application front panel (Figure 1) to test the FGV". Figure 1's title is "Test VI Application Front Panel". However, the Front Panel shown belongs to CLD 2 Elapsed Time Express FGV Exercise, which is the FGV, but NOT the test application.

Also, "CLD 2 Elapsed Time Express FGV Solution.vi" does not match the requirements give in the instructions pdf:

  1. The pdf states:
    • in section "Initialization": Auto Reset shall be Set to ON
    • in section "Operation": Auto reset shall be set to false.
    However, the current Reset case in the solution VI sets the auto reset shift register to the value of the button, in this case ON / true.

 

I changed the solution FGV vi to match the instructions pdf, also introducing some other changes:

  1. Re-wired the Reset case to fix point 2) from above.
  2. Removed the "Default" case tag as we are working with a type-def'ed Enum.
  3. Removed the free labels that are used to document wires and put wire-bound labels instead.
  4. Re-routed wires with too many bends. Also reduced the number of crossing wires.
  5. Changed the Reset output terminal of the case structure to "Use Default if unwired" and removed all False constants.
  6. Moved the Front Panel items closer to each other.

 

I attached the solution FGV VI only, the tester VI and .ctls I left unchanged.


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 19 of 20
(133 Views)

Hi,

I do not know if I have the wrong CLD Success Package but the Front Panels for exercise #1 and the solution do not match. The exercise #1 has the Elapsed Time as a String Indicator whereas the solution has Elapsed Time as a DBL Indicator. Also their labels have changed, the exercise is Elapsed Time whereas the solution is Elapsed Time (s). The label on Time has Elapsed has changed to Time Has Elapsed in the solution.

 

This seems to me to be fairly fundamental as I was under the impression that the given Front Panels were supposed to be unchanged for the solution in the exam, or have I got that wrong?

 

Cheers

Stephen

 

0 Kudos
Message 20 of 20
(17 Views)