11-29-2012 05:20 AM
hi
I am trying to use the test stand auto scheduler
I have a test setup with 2 DMMs of the same model. I don't really mind which DMM I use for measuring a voltage since they will be connected to the DUT via a matrix switch.
I have written a sequence which will be re-used over and over on multiple DUTs and it requires access to a DMM.
Can test stand automatically pick a free DMM and switch it through to the test point I need? or do I need to specify which DMM I want to use?
Any ideas?
11-29-2012 08:44 AM
Have you looked at the example for this? I'm pretty sure they do exactly what you are talking about.
C:\Users\Public\Documents\National Instruments\TestStand 2010 SP1\Examples\Auto Schedule
Hope this helps. Lemme know if you have further questions.
11-29-2012 10:34 AM
ok,
what is lacking here is some documentation for how this works. An example is always welcome but I think I need some further explanation.
within the auto schedule sequence there is a section with a comment stating "use whichever dmm is available" on a "Use Auto Scheduled Resource" step.
there are then two calls within that section which call different labview VIs one which used DMM1 the other which uses DMM2. How do I tell the VI to use a particular DMM which test stand has selected. How does test stand know which DMM is available for the job?
11-29-2012 10:58 AM
A lot of these questions will become answered as you become more familiar with TestStand.
However, let me see if I can try to answer them here:
Each VI is set up to call the different DMMs. So that is not a problem. The key is knowing which one to call. This is done using the Preconditions and Pre Expressions for each of the steps. You can see that the preconditions are set to look at the acquired resource. This way you know which step to call. Also you could set the switching for those steps to use the correct paths through you switch matrix as well. This is where it gets tricky though because you have to make sure that a path for DMM1 will never conflict with a path for DMM2. Because if they do then you cannot have 2 DMMs.
If you look at the Use Auto Scheduled Resource step for the DMM section you will notice that it identifies 2 resources. By the very nature of how autoscheduling works when you declare 2 like that only 1 has to be used in order for that testsocket to satisfy that section. Any of the resources scheduled in the auto scheduler are actually "soft" resources. This means that they just exist in software. Even though you have hardware physically out there the soft resources are just used to lock so threads don't tromp on each other.
TestStand knows that the DMM is available because another thread has released that soft resource. And then the testsocket just grabs whichever one is available.
The NI TestStand Reference Manual should help you out. There is a section on page B-25 which talks about Auto Scheduling.
Also, not sure if this example helps out either:
http://zone.ni.com/devzone/cda/epd/p/id/6528
Hopefully this helps. It's kinda hard to explain I wish there was more documentation out there for this.
Let me know if you still need further clarification.