05-27-2008 12:43 PM
05-28-2008 05:41 PM
05-29-2008 07:13 AM
Kristen,
There is production process, which defined at our factory.
The production process includes requirements to test process, which applied to all test stations and all products.
According to these requirements:
1. Actions, which test operator shall take:
1.1. Place UUT into test station
1.2. Read UUT serial number barcode. At this point tests sould start automatically
1.3. When tests complete, remove UUT
1.4. Proceed to next UUT
2. Single test station should be able to test several different products
"My application" is Process Model, which intended to serve all the factory test stations in unified way.
This Process Model is based on NI "SequentialModel.seq".
PreUUT of this Process Model performs the following steps:
1. Ask operator for UUT serial number
2. Get product ID from database (using serial number, which obtained in previous step)
3. Get test data from database (using product ID, which obtained in previous step). Test data includes sequence file name as well as test related data (MAC address, for example). There is single sequence file provided for each product.
4. Load sequence file (which name obtained in previous step)
5. Store test data in ["MainSequence"].Locals of new loaded sequence file. This make possible to access test data from within test modules.
"Why I want to switch the sequence file in the PreUUT callback".
When UUT is inserted into test station, there is unknown, which sequence file to use, until reading the UUT barcode.
thanks.misha
05-29-2008 01:41 PM
06-05-2008 07:12 AM - edited 06-05-2008 07:17 AM
Kristen,
"Why I architect "My application" this way?"
"My application" is intended to serve significant amount of test stations and products. Each product is represented by its own test sequence file.
"My application" and client sequence files are independent products. Client sequence files are responsible for products testing, while "My application" is responsible for common tasks.
Process Model is most pertinent place to perform common tasks (common for all test stations and for all products).
Providing supplemental sequence file just to perform SequenceCall, is completely unnatural.
Moreover, if using SequenceCall, I see no way to update local variables of new launched sequence file, before it starts to execute (step 5 of "Message 3 of 4").
Thus, the solution, which you propose, cannot satisfy our factory requirements.
Back to my questions.
1. Is something wrong with the way, which I implement the task?
2. Is it possible to implement my task using NI TestStand?
3. Is my problem caused by incorrect usage of "edit copy" and "runtime copy" of the variable? TestStandReferenceManual says:
"Built-in properties of steps and sequences are flagged to be shared at run time. For these shared properties, TestStand does not create a unique run-time copy, but instead references the edit-time copy. Any changes to the run-time reference of these built-in properties edits the original Step or Sequence object in the sequence file."
The variable, which we discussing is not Built-in property.
4. If previous correct, how differentiate between "edit copy" and "runtime copy" of the variable?
thanks.misha
06-06-2008 04:17 PM
06-16-2008 11:59 AM - edited 06-16-2008 11:59 AM
06-19-2008 01:02 PM
Jessica, Kristen,
I failed to open attached example because it's incompatible with the TestStand version, which I use (4.0 (4.0.0.326) vs. 4.1 (4.1.0.228)).
Referenced in Message 1.
thanks.misha
06-19-2008 02:26 PM
06-20-2008 05:28 AM
Jessica, Kristen,
Again you suggest to use step of type "Sequence Call" in client sequence file.
Our development team has examined, discussed and rejected this approach earlier, since it cannot satisfy our factory requirements (see previous messages).
If possible, can you review my original question: "how to handle variables in sequence, which was loaded dynamically from Process Model"?
thanks.misha