Model vs batch model in parallel

Hi, I'm starting to develop a new machine that manages 12 DUT. I have 4 edits, 3 DUT each. The 4 light should go independently (in parallel), 3 DUT on each device should go in lot of sharing the communication channel. This application is the perfect mix between batch and parallel model; the solution will probably lie somewhere between the sequential and parallel model. Then, there are 2 ways:

  1. From parallel model and try to synchronize the DUT 3 in the same match. I could use a notifire to start the test then a synchronization batch share the communication channel.
  2. From batch processing model and try to group 3 DUT. I could change the 'waiting' for all test sockets.

1st solution sounds better to me. How will you approach this project? There will be no PLC controls the machine. You would control all i/o directly in TS? I would like to order the machine with a manager who communicates with the TS (a state machine executables LabView). What is your feeling about that?  Thank you for your support.

Hello

I'll give you my thougnt on your questions but id that another user will come with more suggestion, it will be welcome.

I agree with you prefer the first solution.

Basically, you need a parallel process model, and then you have the means to manage synchronization (declaring for example).

When you say 'control all I\O TS' you mean have an adapter (for example, LV) called by TS that running the operation I\O? I think that it is correct.

For the latter, the most common architecture is to have TS as responsible for you, test and LV code called TS but not the opposte steps.

Good bye

Clara

Tags: NI Software

Similar Questions

  • Some performances are not completed to help put an end to everything in the model of parallel processes

    Hello

    This question confued me recently, I would use a parallel process of model and to finish running at the same time.

    If there are action steps in order, it seemed that will put an end to the execution of all.

    However, I put a wait instead of steps of the action function, there are a few executions not interrupted while I pressed the button finish everything in the toolbar.

    Hope someone can give me help. Thank you very much.

    PS. the number of testsockets has the value 9 in my teststand.

    I ran your sequence again, and I have reproduced the issue.

    It seems the action of the polls Test for success/failure of the VI at full speed.

    It will consume your CPU resource to 100%.

    So I add some delay in the VI to prevent election full speed.

    Please see the following block diagram.

    I tried and it seems resolved the problem.

    Ting

  • What is the best way to open close, then send instrument labview teststand model handles parallel?

    I have a number of test systems that use a parallel model with labview. We have a number of instruments (PXI).

    What is the preferred method to open, close and passing instrument handles with labview teststand?

    Hello

    A few ways

    1 package return the session as a U32 handle, there are a few VI TestStand i of the palette of TestStand that you can use to make conversation.

    2 through a LabVIEWIOControl. TestStand handles these.

    3 do something fance as the use of LVGOOP and leave the handle as an object property and leave in memory. for example, do not pass it back at all.

    One thing, you'll have to monitor multiple executions trying to talk to the same instrument, use some lock/unlock or synchronization to avoid thi.

    Concerning

    Ray Farmer

  • Operator interface customized for the model of parallel processes



  • The parallel model configuration help

    This is my first time posting, but I'm a long time reader...

    First of all, I consider my knowledge novice Teststand high to low intermidiate level. I created a sequence test to aid in Teststand that call labview vi. My test sequence tests 5 units at a time in a parallel model (model in parallel sequence). From a functional point of view, everything works great for single pass and loops. However, here's my problem:

    When you select "USE Test", it brings up a window that asks you the serial number for each of the five stations. The operator must then enter a serial number for each and press OK proceed. This configuration is not valid for what I do. My test setup has a button for each of the 5 stations. The user must press the button to start the test (connects to a data acquisition). Then the serial number is read from the UUT and entered in the report.

    How could I go how to reconfigure it? I'm not looking for someone solve my problems for me, I just need a little direction. I looked at the parallel sequence model and I may not know where to go with it.

    Help, please

    Ryan

    TestStand 4.2

    LabVIEW 2009

    In the parallel model, you will see the Pre DUT reminder.  Inside of there, you will find the steps that call the dialog box you're talking about.  The best option is to replace it in your file of the client's sequence.  Then write your own code that dictate the required operators to go direction.

    It's just the description the General "point you in the right direction."  Please let me know if you want more details.

    Kind regards

  • Implementation of the synchronization steps without using batch or parallel processing sequences

    We use a model of customized integrated process based on sequential process model.

    I have to call the Synchronization Manager in order to use the steps of synchronization when you do not use batch or models of parallel process?

    All operations (locks, Rendezvous, Notifications, queues, etc.) and the steps of synchronization works in any model or a model, with the exception of the synchronization of the lot.

    If you need batch synchronization, your model must use synchronization > advanced > step type specification of batch processing to specify what threads are in the batch. Since you are not from the model of batch processing, I doubt that you have to worry about this.

  • Parallel, tests using screw back with Funtional Globals

    I believe that to run a vi simultaneously in teststand, you make it reentrant.

    My problem is that one of my global screw a functional uses and I don't want to effect the other screw ran for the other test shots.

    What is the best way to manage funtional globals in a model of parallel process or batch?

    Also is there a way to have Teststand manages whether or not the reentrant VI?

    Greetings,

    The difficulty here is that essentially looking for a way to limit the scope of a global variable. What happens if you have converted your functional global variable to a single value in a table? You could then index based on what criterion of instance you are working. Essentially you always talk to the same global variable, but you would have uniqueness in the table index. How does that sound?

  • Test of parallelism by using batch processing model

    Hello!

    I am relatively new to TestStand and have a question that seems to have an easy solution, but I can't understand (looked like the examples, forums, etc.)

    We use the model batch (minor modifications for reporting) but all run sequentially and have the template option set to 1 socket. I have 2 tested EHR sharing a room of temporary and 2 4145 s PXI (one for each DUT, using 1 channel as the power supply and the other three channels for the measures). I manage all the instrument in a reminder of ProcessSetup initializationg and jump into the MainSequence once the test is done I'm going in the ProcessCleanup recall and to close all references (we use digital recorders for instruments).

    I want set the template option to have 2 Sockets. So if I put the VI call that sets the temperature at will TestStand "A thread only" two starting sequences and one of them would set the temp and the other would ignore but spend once executed step.  Is there a way to tell TestStand "for USE 0, use SMU1 and USE 1 use SMU2" and go to the next temperature?

    It's a weird situation because all the examples I could find have the problem "more DUT with Instruments" so in my case, it's a problem well have .

    Thanks in advance!

    You can use the expression RunState.TestSocket.Count 0 based.  Use this value to create your EMS chain.

    Pulido Technologies LLC

  • How would you do that? 2 case of a test station

    I have a sequecne that works great stand alone, that now we want to add another test power to the system. It is not as easy as it may seem, here are the conditions and what we intend to do. I need to have either 2 instances of the running program or configure the sequence in batch or in parallel, but I'm a little confused on how to do it properly.

    Features of the system:

    • 2 - test fixtures with 24 pieces in each. The sequence works fine now with only one test. I decided not to do a batch with these 24 pieces because I have a single DAQ mx read for all of the object to be measured and there is no need to follow every 24 parts. they're all to fail.
    • The two test devices will use the same DAQmx device for measurements. Compaq DAQ with USB (device 1 is for the test set-up 1 and 2 is for the test set-up 2)
    • They share a DIO Board for some discreet signals.

    My questions:

    1. Socket 1 or 2 Socket may have parts on them separately. A my load 1 operator and not the other and start the test. During the test, they can load up to 2 and start it too. Both must run exercise but share the Compaq DAQ device
    2. How do you run the shared resource (lock during the measurement, semifore?)
    3. Is this possible at all?
    4. Can I run two instances of the same UI? It would be the ulimate. With 2 points of entry and 2 displays for the recall of the UI to write to.

    Thanks for any input you can give me.

    You can have several instances of TestStand running almost any version.

    Here are a few options:

    1. run two user interfaces and usage and asterisk to prefix your lock names (for example "* DAQmxDevice").  This lock will then share in all of engines.  In fact all steps of synchronization may use the * to precede the name of share it across engines.

    2. create a custom with 2 managers running user interface and then 2 sets of views of implementation on the front panel.  When they execute you can somehow indicate the file in sequence (with a UIMessage) whose execution were fired off the coast.  Then, he will know which set of DUT it is testing.  Use of the * tip for your locks.

    3. what you should be making use of the parallel model.  It takes care of everything in your needs right out of the gate.  In other words, the user can run what socket they want from the parallel dialog box.  Use the normal locking mechanisms.  I've attached an example.

    You will get the best performance and control of option 3.  Suffice to say.

  • change of appointment programmatically

    I use TestStand 4.1 with the model of parallel processes.

    Is it possible to programmatically change the "number of threads by date', once the appointment has been created?

    Kind regards

    Tom

    Another possibility is to pass on the date you use and go to the walk-around reference (rather than access it by name). This might make sense if, for example, you have a different number of threads for each product group. You must then pass on what date your threads use when passing on what product you are testing.

    -Doug

  • SyncManager Enqueue in Labview

    Not sure if this should go in the jury TestStand and Labview, so I'll try TestStand first...

    I'll build a TestStand testbed that uses the model of parallel processes. I want to replace the standard dialog use with a custom dialog generated using Labview (either incidentally, the requirement of test bench needs barcode custom entry screens).

    I now have a system that works. Basically, I put the TestStand ModelOptions "ParallelModel_ShowUUTDlg = False" parameter and interact with my own Dialogue USE LabVIEW in PreUUT and PostUUT. I send data TestStand > Labview wrapper around standard objects of sychronisation Labview screws. These work fast as lightning!

    The main issue was to know how properly to find my Labview UUTDialogue information (barcodes and control tags etc), each parallel execution TestStand, i, e. Labview > TestStand. I did successfully logging into Manager synchronization and Enqueueing my messages to relevant TestStand execution. I have attached my Labview VI that performs this task.

    It works, but my only problem is the speed of the call of the queue (specifically the IQueue.Enqueue call node). This unique procedure takes about 1 second to run each time. I tried the value true to the 'processMsgs' parameter, but it does not help. Calling the nodes invoke for the NewPropertyObject, the SynchManager and the GetQueue are fast. Only the calling node queue is slow.

    Everything else seems to work as expected - all data structures through parallel executions TestStand as expected. Any ideas why the queue is so slow?

    Kind regards

    Tom

    Tom,

    It's an interesting discovery. I've seen a few references to global queues (with the asterisk) run more slowly as local, but had not seen any mentions of THIS slow. I am happy that you have at least found a work around. I thought at first that you were right, that LabVIEW and TestStand to perform in different processes, but I think that this applies only if you have configured the adapter for LabVIEW to run in the development environment. I think that if you use the adapter in the runtime, then it is in fact an instance of RTÉ opened in TestStand courses. See the TestStand help here: http://zone.ni.com/reference/en-XX/help/373892E-01/tssemiconductor/performancelvrte/

    "The map of LabVIEW TestStand can run modules of code VI in the LabVIEW development system process or by using the runtime (RTE) LabVIEW, TestStand courses"

    And in this white paper: http://www.ni.com/white-paper/14335/en/

    "By default, all screws are called in the instance of the main application of the module LabVIEW Run-Time Engine loaded by the process of TestStand"

    So, IF you have set up your adapter on RTÉ, then I think that it makes sense that you are able to access the queue without the asterisk. Of course, if you are running in dev engine, so I guess you will need to use a global queue. I hope this helps!

    Cason

    Violaine applications, OR

  • Remove # and clear the line from txt files

    Hello

    I have problem with my program.

    I need to remove the empy lines in my txt file.

    This is file look like:

    # Standard capacitance data file
    # Model capacity: parallel (K = 3.0)
    # Created by: ECT32v2 for Beta2.25 of Win32 (July 10, 2003 01:54:24)
    # Source: rec_flow_f45_v800_n2.bcp
    # Description: contents of the buffer to capture mode
    # Date: 12:04:43 GMT standard time, 29 March 04
    # Electrodes = 8, measures = 28
    # Data for plan 1

    # 1 frame (0 msec)
    0.006-0,001-0.004-0, 002 - 0.028-0.031-0,002
    -0.008-0, 005 - 0.007 - 0.024 0.005 0.004
    -0.014-0, 002 - 0.011-0.004 0.002
    -0.008 - 0.003 - 0.004 0.003
    -0.011 0.001 0.002
    0.005 0.004
    0,008

    # structure 2 (10 ms)
    -0.002 0, 005 - 0.008 0.006-0,002 0,023 0.011
    -0.008-0.004 - 0.004 - 0.003 0.010 0.001
    -0.007-0,001-0,012 0.007 0,008
    -0.015-0.004 0.002 0.001
    -0.007-0,002 0.001
    -0.002 0,008
    0.005

    I want to remove all empty lines, lines containing ' # '.

    I try as an attachment, but it does not work.

    How can I do this?

    Regads,
    Sorry for my English

    Ben Merci for example. Somehow, I missed the framework which enabled search expresion. Your example has sent me to the help files to understand. I have modified my first code for the show method, I hope I have the correct explanation. Not trying to do someones homework for them, but for those who need a quick start, maybe this will help someone else along the way.

  • Test bench - selection of material resources

    Hi all

    I use TestStand 4.2.1 with LabVIEW adapter (LV 2009).

    I'm developing a test sequence which, for the time being, works on the sequential process model and will run later on the model of parallel processes. I also develop OI in LabVIEW for this test sequence. The test involves the use of an EMS and a NISE virtual device (I preferred, so far, using subVIs NISE in LabVIEW modules rather than integrated NISE TestStand facilities).

    (1) in order to select the resources of hardware device (EMS reference, name of virtual device NISE, NISE itineraries to be connected, etc.), I have a dedicated module for LabVIEW (VI) who runs first, in the configuration section. It is followed by other modules of "Open & configure ' for each material resource, it is a basic interface (dialogue) with drop-down lists that allow the user to select resources. However, if I want to use the parallel model for 4 DUT, it will display 4 these dialog boxes; also, in each race for each object to be measured, re-displays the dialog box.

    My question is: How can I switch handles/references to material to be configured for the IO sequence I'm building in LabVIEW? Should they be passed as parameters to sequence (params) for MainSequence? The operator must select resources only once, when he starts the IO; After that everything should work without needing to select again the device resources.

    (2) if I implement the model of parallel processes, how can I access variables of each socket (running in parallel to the test sequence), etc. At this point, I do this by using the 'testbed - Get property"Subvi (from the context of the sequence and the search string to the Subvi). In the case where I have 4 outlets running, how to sequence of each socket context? Or is there another way to access the properties? (I see "ThisContext.RunState.TestSockets" as variables in TestStand... is it a clue?)

    Thank you in advance for your help!

    Have a great & productive day

    Fr. Paul HARFAS
    PhD student
    University POLITEHNICA Timisoara, www.upt.ro
    Faculty of electronics and telecommunications, www.etc.upt.ro
    Applied electronic Department, room B114, http://www.ea.etc.upt.ro/
    V.Parvan av, no.2, 300223 Timisoara, ROMANIA

    Hello Paul,

    I enclose an example that does this with a modified version of the Simple OI of LabVIEW. It displays variables in the file Test.seq in a table. This is just an example and must be modified to work with your application. Have a great day!

    Best regards

    Adam G

  • PNTools on Virtuozzo Containers installation

    Hello colleages.

    I am developing an infrastructure VDI Parallels Virtuozzo Containers 4.6 and vWorkspace 7.6. Parallels Virtuozzo Containers is running in a Windows 2008 R2.

    VWorkspace Console, new containers are created and sysprep properly. But after you create a new container, I need to install the PNtools inside these new containers.

    Now, the only way I can install PNTools is of vWorkspace console option install/update PNtools but I would like that this software is automatically installed when the computer is added to the console vWorkspace.

    I couldn't do this by creating an application model in Parallels Virtuozzo Containers.

    Do you know how?

    In addition, I find that if I create a new container with some models of application on this subject, the vWorkspace fails the task of creating with: Action = unknown action, cannot change the settings of the container:

    someone had to have the same problem? How to solve it?

    Thank you very much for your help!

    Hello

    I believe that our Dev team is aware of this problem. He was spotted when testing version 6 (which is not officially supported)

    I don't have any time frame for when this will be fixed.

    If I hear more Dev, I will update this.

    Thank you, Andrew.

  • run a subsequence (or a few) in a thread in a parallel model

    I have several threads running - I want that the first turning a device of some on and the rest of them just jump this subsequence.

    Rather than designing a system of flags - I was hoping there is a way to fix the synchronization behavior similar to the option to synchronize batch of 'a thread only "?

    Is it possible to have the entire sequence by the collar of the stage at the end which turned off the camera and the last of them, execution of the tower off?

    Hi rsmrostov.

    See this topic: http://forums.ni.com/t5/NI-TestStand/Implementation-of-synchronization-steps-without-using-batch-or/...

    Batch synchronization step types only works when you use the process model of batch processing (without extra implementation on your part to synchronize the threads running in parallel process model).

    TestStand provides batch step specification to define a group of threads; to perform a synchronization batch in a non - batch process template. See the file attached sequence for a reference to an implementation using the specification of the batch steps.

    -Jeff

Maybe you are looking for