Jump to content
Sign in to follow this  
mabolas

CLA Elevator&ATM Practice, Please review and comment (OOP Style)

Recommended Posts

Hello,

Recently I'm trying to get my CLA and this is my third time practicing this example.

I took about 3 hour and 20 minutes to finish it.
(Actually I planned spent 3 hour to finish it , it's already the third time, I barely analyzed it , just coding)

The first hour I took was for establishing ancestor classes, set up public data, sharing mechanism / VI
(open/close queue references, access data base, main running VI framework.....etc)

The second hour I spent on modules (error handler, user console, display console and sensor )

The third hour is implementation of the main module : Controller 

and I took another 20 minutes because some requirement tags I have no idea where to put.


I know lots of people suggest do not use OOP in CLA, because it takes too much time.
But I've been used to OOP style and not very familiar with tradition QMH programming.

Something Still Confusing me , it's appreciated if leave some comments or suggestions to me.


1. I still think it's not fast enough, did I put too much code or redundant comments in it?
(when I took my CLD, lots things slowed me down, like nervous,misunderstanding questions, strong AC, noise...etc , I think those will happen again in the CLA, )

2. Did I comment in the proper way ? Did I comment clear enough for developers?
(which is the NI examiner), if I don't build any child message class (for saving time),
just leave the comments to tell how to build them, is that OK? I'm not sure whether I leave enough comments for understanding 

 

3. I didn't build the timer FGV module, instead, I encapsulate a "local timer" in to controller.lvclass and directly manipulate it in the loop, is that an acceptable method in CLA?

(I use this method in real world a lot, since I just need a local timer in one loop, I do not need set up another timer FGV to confuse me in the project)

4.Also the example has a data base module, I do not either. It's more flexible to me let the ancestor class 

handle the data base then share it to every child class.

Elevator.zip

Edited by mabolas

Share this post


Link to post
Share on other sites

I've made ATM practice too. 
I think it's little easier than Elevator.

I don't know why, maybe I've practiced at CLD.

 

ATM.zip

Edited by mabolas

Share this post


Link to post
Share on other sites

Thanks the advice, I posted there and seems not enough time to get feedback.

 

(I'll take exam next week, so, this style would be my final framework and architecture,

the rest I can do just more practices and pray......)

Share this post


Link to post
Share on other sites

I think this kind of architect is OK to NI.

 

I got 95.7 points at my CLA exam .

 

Architeture development could still do a little bit better.

And I didn't tag the requirement tags perfectly.

Anyway, this result is good enough to me.

 

I'll tag my last practice examples as the solution.

Edited by mabolas

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By SIGMADESIGN_US
      LabVIEW Software Developer


       
      SIGMADESIGN is a fun, fast-paced engineering consulting company currently experiencing explosive growth.  We are looking for a LabVIEW Software Developer. Curiosity, competency and confidence are a must. We offer competitive compensation (DOE), Medical, Dental, and Short Term Disability insurance, a retirement plan, and profit sharing. We also offer Voluntary Benefits: Vision, Long Term Disability, and Term Life insurance.


       
      Primary Function:

      Definition and programming of LabVIEW based software. Duties include: designing, developing, installation, and debug of custom LabVIEW based applications for a variety of monitoring, measurement, and control systems.    Systems will incorporate a variety of technologies (DAQ, machine vision, motion, FPGA & real-time control, etc.) with application across a broad range of industries.


       
      Essential Job Functions - Responsibilities:

      ·         Develop and maintain LabVIEW applications for control and data acquisition across a wide range of test and measurement systems.

      ·         Interpret and understand control specification documents, P&ID drawings, wiring diagrams, and schematics.

      ·         Utilize National Instruments data acquisition hardware, off-the-shelf test equipment, and custom developed hardware.

      ·         Troubleshoot software and electrical control issues and define and/or implement solutions.

      ·         Support, improve and modify existing LabVIEW applications as necessary.

      ·         Create and maintain documentation, version control history, and bug tracking for LabVIEW applications in coordination with engineering and technician teams.


       
      Required Education, Skills, and Experience: (Knowledge, skills, & abilities)

      ·         CLD (Certified LabVIEW Developer) certification or above is required.

      ·         5+ years LabVIEW application development experience with demonstrated proficiency.

      ·         Experience with NI DAQmx, NI VISA drivers, and supported protocols (GPIB, RS232/RS485, TCP/IP).

      ·         Experience with at least one version control system and an issue tracking system.

      ·         Attention to detail in design, programming, debug, and documentation work.

      ·         Ability to organize and prioritize numerous tasks and complete them under time constraints.

      ·         Ability to plan work and accomplish objectives with minimum of direction.

      ·         Strong written and verbal English language communication skills.


       
      Additional Desirable Skills, Education, and Experience:

      ·         CLA (Certified LabVIEW Architect) certification highly desirable.

      ·         Bachelor’s degree in Engineering or a related field highly desirable.

      ·         LabVIEW Real-time and FPGA Programming experience.

      ·         LabVIEW Object-Oriented Programming experience.

      ·         Experience with developing Motion and Vision applications.

      ·         Experience with CAN and Modbus network protocols.

      ·         Familiar with basic relational database concepts.

      ·         Linux OS administration and shell scripting experience.

      ·         Experience with Matlab and Simulink.

      ·         Additional software skills (C/C++, PHP, Python, etc.).

      ·         LabVIEW for calling external code (dll, COM objects, ActiveX, .NET, etc.)

      ·         Translation of source code from various languages (VB, C, C++, C#, Python) into LabVIEW code.

      ·         Calling VIs dynamically.

      ·         Experience with LabVIEW version 2012 or newer.

      ·         Pass a post-offer background check verification.

      ·         Complete Pre-Employment Assessment required: Begin Assessment


       
      In addition to submitting your application, please complete the Pre-Employment Assessment to be considered for this position.


       
      Work Environment:

      Standard office environment with normal amounts of office related conditions. Occasionally may be required to work in environmental conditions that emulate typical user environments in order to facilitate design testing and validation. 

      Sigma Design - Corporate Fact Sheet.pdf
    • By Vinicio Lupo
      Hi All,
        I am going to do the exam of re-certification of CLD. I found just one exam sample on NI website. there is someone who have material that can help to study for exam? Other Sample or specific topic to study for covering all exam possible questions?
      Any kind of help will be very appreciated.
      Thank you in advance
      Vinicio 
    • By proximal
      Hi, I'm a Certified LabVIEW Architect seeking new contract work. I am based in the Austin, Texas area, and can travel within the US or overseas if needed. As a former NI employee, I have extensive experience creating large LabVIEW applications for test and measurement systems. Areas of expertise include LabVIEW, LabVIEW RT and FPGA, NI Vision, C, C++, C#, PXI, cDAQ, cRIO, sbRIO, GPIB, and more.  Please email me at nathan@proximalcorp.com for more information. Thank you!
       
    • By Manudelavega
      I am attending the CLA summit for the first time next week. I'd just like to check if anybody here is going as well and if you'd be interested in meeting on Sunday evening and then heading to the Sunday night social together 
    • By PBD_ctrl
      ***BUMP*** this is still active
       
      About Us:
      Draper is an independent, nonprofit research and development company headquartered in Cambridge, MA. The 1,500 employees of Draper tackle important national challenges with a promise of delivering successful and usable solutions. From military defense and space exploration to biomedical engineering, lives often depend on the solutions we provide. Our multidisciplinary teams of engineers and scientists work in a collaborative environment that inspires the cross-fertilization of ideas necessary for true innovation. For more information about Draper, visit www.draper.com.
       
      The Position:
      This position seeks an engineer with a high proficiency in developing test software for Automated Test Equipment (ATE). Software development and testing support will be performed on a host of ATE platforms implemented for evaluation and test of precision instruments, mixed-signal electronic modules and systems used for guidance and navigation applications. 
       
      The candidate will be expected to support various software assignments while adhering to formalized software development processes. This includes gathering and generating formal requirements, implementing software architectures and detailed designs, developing and executing formal test plans, and supporting the packaging and deployment of official releases for end-users. The candidate will be expected to maintain software documentation and manage bugs/problems through formal tracking systems.
       
      The ability to work and succeed within a process-oriented setting is critical, as is the ability to thoroughly document and communicate one’s work. 
       
       
      Job Requirements:
      Electrical Engineering, Computer Engineering, Computer Science or Mechanical Engineering Degree is required. Candidate must have experience programming in LabView, TestStand or other industry standard test automation software. National Instruments certifications not required but beneficial (CLA, CLD, CLED). Previous experience integrating and developing ATE for mixed-signal hardware devices is desired, as well as familiarity with integrating and developing software for commercial test instrumentation – Data Acquisition Modules, PCI/PXI Instrumentation, Real Time Embedded Controllers, Communication Devices. The engineer will be part of a multi-disciplinary team and will require strong teamwork and interpersonal skills in this fast paced technology development environment.
       
      This position requires US Citizenship and the ability to obtain a government security clearance.
       
      Draper is committed to creating a diverse environment and is proud to be an equal-opportunity employer.  All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability status, age, or protected veteran status.  We understand the value of diversity and its impact on a high-performance culture.
       
      How To Apply:

      To view the job opening and apply, please follow the instructions listed below.
       
      Logon to our website at https://jobs.draper.com; register, view the job opening, and apply.
       
      6251 - Software Integration & Test Engineer
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.