Jump to content

Automated Test System Implementation


Recommended Posts

I will start by saying that I have only been using LabVIEW for around 8 months. I have had no formal training, and work at a company with no other LabVIEW developers. What I know has come from outdated books and sites like this one.

I have been given the task of developing an automated test system for several different circuit boards. I have a PXI chassis with DMM cards and will have a relay network to switch for the various voltage and current readings. The idea is that any of the boards can be connected to the system, and the appropriate test can then be selected and run from the front panel. The results will then be logged and a pass/fail status displayed.

While waiting for the final board specs, I have been playing with various implementation options. I have used producer/consumer loops with queuing, and I spent the last several days trying to understand and implement classes. I have run in to problems with each method, likely due to my limited understanding.

I am hoping someone has developed a similar system and can offer some advantages/disadvantages of particular options before I get too far involved with something that won't work well. Any advice is welcome as this will be my first major LabVIEW project, and I may be in a bit over my head.

Link to comment

You should really look into getting TestStand for automated testing. You would save yourself a whole lot of time and headache. It will take care of all the datalogging and is really easy to work with. Then all you have to do is code up a UI in LabVIEW to call the correct sequence file for the board type. Much easier than coding everything in LV.

Just my 2 cents

Link to comment

QUOTE (jhoskins @ Dec 18 2008, 04:35 PM)

You should really look into getting TestStand for automated testing.

I have been meaning to read more about TestStand, as it seems to be designed for what I'm doing, but I assume it won't be within the budget. I will do some reading and see if I might be able to pitch it to management.

I have found more useful information on classes since my initial post, and I am starting to see how that might be my best option. Any further help is still appreciated.

Link to comment

QUOTE (ejensen @ Dec 18 2008, 04:56 PM)

What I know has come from outdated books and sites like this one.

Are you saying that LAVA is outdated?!?! Just kidding :)

I agree with jhoskins - look at TestStand for the automated test scheduling, and LabVIEW for the individual tests. If your company is interested in meeting schedules, I strongly suggest bringing in a consulant to, at least at the early stages, help you design your system architectures (and maybe give you a bit of LabVIEW and TestStand training to boot).

Link to comment

QUOTE (ASTDan @ Dec 20 2008, 12:02 AM)

If you are on a budget and are disciplined the NI course books are great!

Dan

I agree with Dan; the books are great. I learned LabVIEW by reading those books, reading other people's code, studying the practice exams and asking a lot of questions. LAVA is the right place to come if you want to ask lots of questions while you're going through the books :thumbup: .

Link to comment

Thanks for the advice. I graduated from college last week and am hoping to do some training in the near future. I have done very well on the CLAD practice tests I've taken, and I plan to take the test in the next few weeks. At my current position, I think money is a concern, and I likely won't have any further training before I'm expected to produce this test system. I have done a few smaller projects here with good results, but nothing that required scalability. I'm sure with enough outdated books and great sites like LAVAG, I'll manage. I'll look in to the NI course books as well. Thanks again for the suggestions.

Link to comment

I haven't been able to convince anyone to pay for training or Test Stand, and so I continue on with my limited knowledge. I have decided to use classes, but continue to run in to problems. I think my biggest issue is that I wasn't trained as a programmer, and I don't fully understand the class hierarchy. I am using the Drawing Tool example from expressionflow.com as a rough guide because it is the only working LVOOP example I have. I'm convinced that if I could just come up with a logical hierarchy, the rest will be easy. So, I'm asking for suggestions.

I have 6 boards. One board is selected from an enum, and when start is pressed, a relay network is set to the initial state for that board (which should come from some class) to power it on. Next, the relay network is switched for the first test (according to a class?). A test is run (specified by a class?). A check is made to see if further tests should be run. If there are more tests, the relay network is switched again and tests run until finished. Then, the results of the test (coming from a class?) will be logged, and the front panel will go idle waiting on the next click of the start button.

I have experimented with having a 'Board' class with each of the six boards having their own child class. The child board classes then have child classes called 'Test'. I have also tried having a 'Board' class with a child class 'Tests' and making each specific board a child of 'Tests'. I run in to problems with whatever I try. Every time I change my hierarchy, I spend hours fixing my VI.

As far as I can tell, I want to be able to pass an object (maybe 'Test') through the loop. Depending on which board, the VI should be able to determine if there are any tests to run, switch relays, and run the test. Before going any further, I'd like some suggestions on how others would do this.

I appreciate any help anyone can offer.

Link to comment

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

×
×
  • Create New...

Important Information

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