Multiple instruments; same test. Best plan of attack?

I'm looking for some information on design structure dealing with multiple instruments that do the same thing but require different command sets. Specifically I have an application running tests via VISA GPIB using an Agilent PNA. My current application uses a queued state machine with two loops; one taking care of the GUI and another taking care of the states; works like a champ and is easy to add new tests. But I have been asked to migrate the current tests to different flavors of network analyzer specifically old school HP8510 and some non-hp gear. Some tests are very complicated and have a couple dozen steps with numerous sub vi's to take care of all the commands and data formatting. We do not want separate applications; I have to identify what is connected and sequence the test accordingly to attain the correct results. 
I'm looking for links, suggestions, or recommended reading to deal with such things and to maintain maintainability.
What I have been able to find is hit and miss with some reading pointing towards using a separate state-loop for each instrument and others just added more and more states to existing state machine.
All opinions / ideas welcome.
-Chris

F1_Fan wrote:
Good suggestions.
SCPI is great but some of the instruments are 20 years old and things like getting bandwith numbers are more complicated in the older equipment. I'm still fighting with people to stop using low level GPIB commands and just use VISA.
My understanding of the replies lies in writing a subset of vi's for each piece of equipment while reusing the common commands (Like writing an overloaded function in .NET land?).
A simple flow diagram of what would occur would be as below if I'm understanding the suggestions -
- Front panel for user to select required test.
- Query what instruments are connected and decide if hardware is available to run such test.
- Using VI's libraries I will create to perform each test; select the proper set and run the test. (I would still use a QSM type design to easily facilitate changes down the road).
- Everything would be invisable to the end user; they are just selecting a test; all front panels will be standard regardless of instrument. They would only differ by the selected test.
Am I on the right track? I'm a VB.NET transplant trying to not get on the "wall of shame" of labview code. LOL.
-Chris
Hi Chris,
This is similar to a Q posted on LAVA earlier this week that can befound here. In that thread Aristos Queue (father of VLOOP LV OOP) outlined some classes to utilize Dynamic Dispatching (choose the sub-VI to run based on the class selected). Conciering your background, that thread may work for you.
Have fun,
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • Installing Leopard and new internal hard drive at same time, best plan?

    Ok so basically the title explains what I need to do. I am currently travelling in Europe, and returning home to New York on Tuesday night. I have a new hitachi 250gb HD and will have Leopard waiting for me at home when I arrive, and will get right to doing this installation. I am writing on the discussion boards here because I am hoping the users here can give me their opinions on what is the best plan of action to do this whole install?
    So what I was thinking was, I should remove the hard drive that's already inside, put it into an external enclosure. Then, put my new blank 250gb hard drive into the macbook pro, close up the computer, then put the Leopard OSX install disk, and do a completely fresh install of Leopard. Then, after installing (or during installing?) I should run the migration assistant program to get all my files and settings etc. transferred over to the new internal hard drive with Leopard on it, from the old hard drive that will be plugged in from an enclosure as an external drive.
    Will this plan have any problems that I am not aware of? Is there a better process for doing this task? Any advice will be greatly appreciated! I am anxious to get my new hard drive into the computer because my 160gb is filling up, and dying so badly to use the new Leopard!!

    You could also put the new disk in the external enclosure, partition it using disk utility. Then make a clone of your current hard disk to the new external one using the restore feature in disk utility. Boot from the external disk and Install Leopard as an upgrade keeping all your files and setting. check everything is all running how I should and swap drives over. That's another option for you.

  • Best way to test the planning function in BI7.0

    Hi
    How can we test the planning function other than the wizard.Can it be tested by creating an input ready query on the aggregation level whcih is created on the top of multiprovider joining real time info cube and standard info cube.
    Kind Regards,
    Sarah

    Testing the planning function in planning modeler and planning wizard is the fastest and the best way to verify the planning function.
    In planning modeler, you have the option of executing the planning function in trace mode which helps you to track the changes before and after execution.
    Moreover, if you want to test the PF on the input ready query, you gotta wait until the query is successfully  created in BEx or WAD.

  • Notice -- Fix for Multiple Numeric Limit Test Status in TestStand 2.0.1

    Dear TestStand Customer:
    National Instruments is committed to product quality and customer
    satisfaction. As part of our commitment, we want to ensure your success
    with our products by delivering industry-leading support and immediate
    information regarding issues potentially affecting you. We discovered an
    issue in TestStand 2.0.1 that may affect the integrity of some test
    results. This issue affects TestStand users meeting both of the following
    criteria:
    1. You are using sequence files with instances of the multiple numeric
    limit test that were saved in TestStand 2. 0.
    2. You have recently upgraded these sequence files from TestStand 2.0 to
    TestStand 2.0.1.
    For the complete problem overv
    iew, please visit
    http://digital.ni.com/express.nsf/express?openagent&code=exjaxg
    In order to immediately remedy this problem on current TestStand 2.0.1
    installations, download the corrective patch at
    http://digital.ni.com/express.nsf/express?openagent&code=exjaxg To prevent
    this issue from occurring in future installations of TestStand 2.0.1
    development and deployment systems, we are creating a new TestStand CD,
    version 2.0.1f1, which we plan to send to all existing TestStand 2.0.1 and
    Developer Suite Test Edition customers with TestStand 2.0.1 during the next
    two to three weeks. If you have a TestStand 2.0.1 CD, please replace it with
    the new TestStand 2.0.1f1 CD.
    Thank you for your patience and understanding in this matter. We remain
    committed to your success and will continue to inform you of any issues
    potentially affecting you in the future. If you have any questions, please
    call me at (512) 683-5880 or email me at mailto:[email protected]
    Best re
    gards,
    Richard McDonell
    TestStand Product Manager
    National Instruments
    (512) 683-5880 Office
    (512) 683-5569 Fax
    mailto:[email protected]

    This issue has been resolved in TestStand 3.0. For more information on TestStand 3.0, please visit ni.com/info and enter "teststand3".
    Regards,
    Richard McDonell
    NI TestStand Product Manager
    National Instruments

  • Multiple Multiple Numeric Limit Test

    Hello
    I have a test that I have written (LabVIEW) that produces 2 arrays of numeric Values. 1 array of Gain data and 1 array of Noise data. I want to apply (different) limits to each array (Same limit for each element within array). How do I do this in TestStand. I have used the multiple numeric limit test for tests returning a single array of data but my test returns 2 arrays.
    It would be really in-efficient to split the test up into 2 tests as both Noise and Gain data comes back from the instruments in one sweep.
    Any clues ?
    Regards
    Chris

    Chris,
    Since your code module returns two arrays and you do not want to call the module twice you could have the LabVIEW multiple numeric limit test step to validate one of the arrays and have a None multiple numeric limit step  to validate the second array. You have to send one of the arrays to a local or global variable  so you can access it from the None multiple numeric limit step.
    You could even execute these steps in a separate sequence and call it using a Sequence Call step if you want to see all the process as  a single step.
    Another option would be to create your own multiple numeric limit step type in order to support two different arrays as the data source at the same time. This solution requires more work from you. You could take the existing multiple numeric limit step type code as a starting point.
    You can fin the code under <TestStand>\Components\NI\StepTypes\CommonSubSteps.
    If you plan on modifying the code it is better to make a copy under <TestStand>\Components\User\StepTypes and modify it there.
    This will prevent future upgrades from overwriting your changes.
    If you have any question let me know.
    Hope it Helps.
    Antonio Lie.

  • How to run multiple CodedUI Ordered Tests over multiple Test Agents for parallel execution using Test Controller

    we are using VS 2013, I need to run multiple Coded UI Ordered Tests in parallel on different agents.
    My requirement :
    Example:   I have 40 Coded UI Test scripts in single solution/project. i want to run in different OS environments(example 5 OS ).  I have created 5 Ordered tests with the same 40 test cases. 
    I have one Controller machine and 5 test agent machines. Now I want my tests to be distributed in a way that every agent gets 1 Ordered test to execute. 
    Machine_C = Controller (Controls Machine_1,2,3,4,5)
    Machine_1 = Test Agent 1 (Should execute Ordered Test 1 (ex: OS - WIN 7) )
    Machine_2 = Test Agent 2 (Should execute Ordered Test 2 (ex:
    OS - WIN 8) )
    Machine_3 = Test Agent 3 (Should execute Ordered Test 3
    (ex: OS - WIN 2008 server)  )
    Machine_4 = Test Agent 4 (Should execute Ordered Test 4 (ex:
    OS - WIN 2012 server) )
    Machine_5 = Test Agent 5 (Should execute Ordered Test 5 (ex:
    OS - WIN 2003 server) )
    I have changed the  “MinimumTestsPerAgent” app setting value
    as '1' in controller’s configuration file (QTController.exe.config).
    When I run the Ordered tests from the test explorer all Test agent running with each Ordered test and showing the status as running. but with in the 5 Test Agents only 2 Agents executing the test cases remaining all 3 agents not executing the test cases but
    status showing as 'running' still for long time (exp: More then 3 hr) after that all so  its not responding. 
    I need to know how I can configure my controller or how I can tell it to execute these tests in parallel on different test agents. This will help me reducing the script execution time. 
     I am not sure what steps I am missing. 
    It will be of great help if someone can guide me how this can be achieved.
    -- > One more thing Can I Run one Coded UI Ordered Test on One Specific Test Agent?
    ex: Need to run ordered Test 1 in Win 7 OS (Test Agent 1) only.
    Thanks in Advance.

    Hi Divakar,
    Thank you for posting in MSDN forum.
    As far as I know, we cannot specify coded UI ordered test run on specific test agent. And it is mainly that test controller determine which coded UI ordered test assign to which test agent.
    Generally, I know that if we want to run multiple CodedUI Ordered Tests over multiple Test Agents for parallel execution using Test Controller.
    We will need to change the MinimumTestsPerAgent property to 1 in the test controller configuration file (QTControllerConfig.exe.config) as you said.
    And then we will need to change the bucketSize number of tests/number of machines in the test settings.
    For more information about how to set this bucketSize value, please refer the following blog.
    http://blogs.msdn.com/b/aseemb/archive/2010/08/11/how-to-run-automated-tests-on-different-machines-in-parallel.aspx
    You can refer this Jack's suggestion to run your coded UI ordered test in lab Environment or load test.
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/661e73da-5a08-4c9b-8e5a-fc08c5962783/run-different-codedui-tests-simultaneously-on-different-test-agents-from-a-single-test-controller?forum=vstest
    Best Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • What is the best plan for me? *please read details*

    My parents are getting me a 4S for my birthday but I have to pay for the plan.
    - I live in Alberta
    - I will use less than 500MB data
    - I have many friends in different provinces I will be texting
    - I never talk on the phone for more than 200 min a month
    - I'm currently with Koodo
    - I will be in Costa Rica for 4 months in the new year; I am probably gonna get a SIM card when I'm down there.
    What's the best service provider, and what's the best plan for me?

    Thanks, Meg.
    So would a Verizon device-only iPhone 5S still be the better choice if I plan to use GSM in the US (and not the CDMA part of the Verizon iPhone which would lock me to their service).
    Ideally, if I had the device in my hand, I would like to use TMobile's prepaid plan (40$ for unlimited talk, text, and 500 mb of data). Upon getting the phone, couldn't I just discard the included verizon simcard (without my activation) and just pop in the TMobile SIM card since the Verizon device-only instrument comes with the GSM unlocked? ( In other words, I don't have to ask Verizon to unlock the GSM part of the iPhone 5S )
    Also, if this is what my goal is (to use a prepaid Tmobile sim), I could just buy an unlocked sim-free iPhone 5S from Apple, right? I dont have to ask for a Verizon device-only iPhone 5S if I want nothing to do with Verizon or use their CDMA service? I'm guessing a device-only iPhone 5s (regardless of carrier label) is the same as unlocked sim-free iphone 5S?

  • Best plan for this scenario (migrate oes2 to oes11)

    Hi there!
    I would like to ask you guys the best plan for migrate a few servers that I have
    in oes2 to oes11.
    I have four servers in oes2sp2/sp3, these servers have a few NSS
    volumes over NCS. Also I have my iPrint service on two machines,
    also using NCS. I have one cluster between two machines and
    other cluster between the other two machines. For exmaple,
    machine1 and machine2, three NSS volumes (every NSS volume is a cluster
    resource) and other resource in the same cluster for iPrint. Cluster: CL1
    machine3 and machine4, one NSS volume (for other people in the company)
    in other cluster. Cluster: CL2. In this cluster only have a NSS volume/resource.
    Machine1/3 are physical, machine2/4 are virtual (vmware)
    My CA is in other server that I will migrate after a while. So, It seems that there is
    no problem with the certificate. Machine1 and machine3 are a replica for the eDir in
    my organization.
    My plan: I have deployed two virtual machines and one physical with oes11sp1 and sles11sp2.
    I think that the best plan is migrate with migration tool iPrint first, like a cluster resource,
    and NSS volumes, and after that, make a transfer ID (like a different project)
    For machine1/3, move NSS volumes and after, make a transfer ID.
    Is this correct? I dont know If I have to delete the current clusters (cl1 and cl2) and
    create new ones, after that, create every resource as It was on the old ones.
    thank you so much !
    Antonio.

    Originally Posted by kjhurni
    This is just my opinion, of course, but:
    If you don't want to have to migrate your NSS data and keep the same server names/IP/s and cluster load scripts, then I believe a Rolling Cluster Upgrade is a good way to go.
    If you look in my signature, there's a link to my OES2 guides. Somewhere there is one that I did for our Rolling Cluster Upgrade.
    If all you have is NSS and iPrint, then you only need to use the miggui (migration utility) for iPrint--or so I think (I do have to followup on this one as I vaguely recall I asked this a while back and there may have been a way to do this without migrating stuff again).
    But your NSS data will simply "re-mount" on the OES11 nodes and you'll be fine (so that's why I like the rolling cluster upgrades).
    Let me double-check on the OES2 -> OES11 cluster option with iPrint.
    --Kevin
    Thank you Kevin for your answer.
    Finally, I think Im going to proceed using transfer ID on my servers that Im only using NSS over NCS (I only have two machines with one NSS volume)
    because it seems that its a good option. I would like to keep old IPs from all the servers, cluster and resources if possible. So, testing this
    migration on my test environment it seems that it works fine:
    - I use miggui for transfer id between all the machines: physical -> physical and virtual -> virtual. eDirectory assumes new hostname, IP, etc.
    the only task "out of the box" is that I have to delete the cluster and regenerate (reconfigure NCS on the new servers) but its pretty easy. This way
    I have the two old ips from the older machines and all the ips from the cluster and the cluster resources also. I think that its the best plan.
    For the other two machines that has 4 nss volumes and iPrint I must think about a plan. But with those, Im going to proceed this way. I hope
    I have chosen a good plan!
    thank you so much all for your answers / advices

  • Measurement for multiple numeric limit test

    Hello,
            I am developing a test software using LabWindows and TestStand. In my application, I have added a no: of multinumeric tests. In Operator Interface, I want to display each measurement in run time, instead of waiting for completion of all the measurements with Multiple numeric limit test. Is there any way to receive in TSOP each runtime measurent taken for multiple numeric limit test without waiting for multinumeric limit test over?
    Thanks in advance......
    Best Regards,
    Vijay

    Hi Vijay,
    Unfortunately, a Multiple Numeric Limit Test will not allow you to return each measurement inside the step as it executes.  If you need this to occur, there are other methods that you could take.  You could create a custom step type or use many Numeric Limit Test steps and pass them the indexes in your array.
    Another method you might use would be to use an Action step and save the array locally.  Then, you could use Statement steps to evaluate each item in the array.
    Jessica
    National Instruments
    Product Support Engineer

  • Best plan?

    Hello...
    I live in an area where my cell service is very poor at home, so I am looking to Skype to make calls when I'm home.
    Mostly, I will probably be using my iPhone to make Skype calls when connected to WiFi.  However, I am considering getting one of the Skype ready phones as well, so that everyone in the home can make calls when needed.   If possible, I would like to have a phone number associated with the account as well.
    I will only be making domestic calls (United States), and most often I would probably be receiving calls, not making them myself.
    With that info... what service should I be signing up for?   I see Premium... but does that come with a phone number?  Any suggestions are appreciated...
    Charlie

    Originally Posted by kjhurni
    This is just my opinion, of course, but:
    If you don't want to have to migrate your NSS data and keep the same server names/IP/s and cluster load scripts, then I believe a Rolling Cluster Upgrade is a good way to go.
    If you look in my signature, there's a link to my OES2 guides. Somewhere there is one that I did for our Rolling Cluster Upgrade.
    If all you have is NSS and iPrint, then you only need to use the miggui (migration utility) for iPrint--or so I think (I do have to followup on this one as I vaguely recall I asked this a while back and there may have been a way to do this without migrating stuff again).
    But your NSS data will simply "re-mount" on the OES11 nodes and you'll be fine (so that's why I like the rolling cluster upgrades).
    Let me double-check on the OES2 -> OES11 cluster option with iPrint.
    --Kevin
    Thank you Kevin for your answer.
    Finally, I think Im going to proceed using transfer ID on my servers that Im only using NSS over NCS (I only have two machines with one NSS volume)
    because it seems that its a good option. I would like to keep old IPs from all the servers, cluster and resources if possible. So, testing this
    migration on my test environment it seems that it works fine:
    - I use miggui for transfer id between all the machines: physical -> physical and virtual -> virtual. eDirectory assumes new hostname, IP, etc.
    the only task "out of the box" is that I have to delete the cluster and regenerate (reconfigure NCS on the new servers) but its pretty easy. This way
    I have the two old ips from the older machines and all the ips from the cluster and the cluster resources also. I think that its the best plan.
    For the other two machines that has 4 nss volumes and iPrint I must think about a plan. But with those, Im going to proceed this way. I hope
    I have chosen a good plan!
    thank you so much all for your answers / advices

  • Slow Leopard, possible plan of attack...

    I have Leopard running on an iMac G5 1.8 GHz PPC with 2 GB of ram. My Canon LiDE 35 scanner and Canon iP6600D printer work fine. But Leopard is much slower on my system than Tiger.
    Plan of attack: 1. create a bootable backup of Leopard 10.5.1
    2. erase and install Leopard
    3. bring over apps, docs, etc from firewire HD during install
    4. update to 10.5.1
    Sound OK? Feel free to give suggestions to help my slow Leopard OS.

    I'm glad it worked out well.
    The idea of starting in Safe Mode is that it runs a directory check and eliminates everything but Apple installed startup items, fonts other than System/Library and other items. It often helps to isolate an issue. (But not his time).
    The re-install you did was probably best and easiest way to handle it. When you update use the 10.5.1 Combo Update This is a fuller install, as opposed to an incremental "delta" update (the one from software update) so it should overwrite any files may still be damaged or missing.
    -mj
    [email protected]

  • Custom Step From Multiple Numeric Limit Test | Hiding Limit Tab

    Hi All,
    I am trying to create a Custom step from Multiple Numeric Limit Test. The custom step by itself poplulates the Limits value from the measurement. So I am planning on hiding the Limits Tab in the step settings. Can someone guide me on how to do this ?
    Thanks,
    Prasaanthan
    Solved!
    Go to Solution.

    Prasaanthan,
    if you do not need the Edit Substep at all, you can delete it from the substep list.
    Keep in mind that TS gains a lot by using very focused modules. So including a module which does two things (taking measurements, populating limits) might beckfire one day result in "difficult to manage" applications.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Test Execution Planning with eManager?

    I'd use MQC terminology to put up my question...
    IN MQC we have Test Lab for test execution planning. we can create test sets and track there completion, assign that execution efort to a tester etc. Do we have similar abilities in eManager as well? Does it allow us to define test execution plan and then track the same? How do we handle Test Execution Planning in eManager?

    Unlike in MQC, where test planning and test execution are handled through setting up in two different steps. In e-Manager enterprise, during the test planning phase, you would import an e-tester script and have it run manually as required on an agent box or e-Manager enterprise system. Or you could also have it scheduled to run for automated execution using the Schedule tool bar item that looks like a clock.

  • How to pass multiple values from workbook to planning function ?

    Hi,
    I have created Planning function in Modeler and it has one parameter(Variable represents = Multiple single values).
    When executing the planning function by create planning seq. in the web template : I see value of variable store data like ...
        A.) input one value -> V1
        B.) input three values -> V1;V2;V3
    This function execute completely in web.
    However, I want to use the planning function in workbook(Excel).
    The value of variable can't input V1;V2;V3... I don't know how to pass multiple values from workbook to parameter(Multiple single values type) in planning function ?
    thank you.

    Hi,
    Please see the attached how to document (page no 16).
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0881371-78a1-2910-f0b8-af3e184929be">how to</a>
    Hope this was helpful
    thanks

  • Multiple Numeric Limit Test - Evaluate Post and Status Expression

    We have a Multiple Numeric Limit Test where the limits for one of the measurements is a function of one of the other measurements.
    In the Post-Expression there are two expressions that set the low and high limit based on one of the readings.
    But the comparison does not seem to be using the calculated limits.
    The report file shows the correct calculated Low and High Limits, and shows the measured reading as being in between the Low and High limit, but fails that measurement. I feel the Status Expression is using the default limits that are out of range.
    The post expression looks like this
    Step.Result.Measurement[2].Limits.Low=Step.NumericArray[1]*1.9,
    Step.Result.Measurement[2].Limits.High=Step.NumericArray[1]*2.1
    In Table 3-4 "Order of Action that a Step Performs", Evaluate Post-Expression (Action #15) is before Evaluate Status Expression (Action #16), but it seems that is not the case.
    Or am I changing the wrong Low and High Limits. Am I just changing the Limits used in the report file and not the limits used for comparison?
    Again the correct low and high limits are in the report but not used for comparison. 
    Thanks

    Digging into the NI step type for Multiple Numeric Limit Test, I find that the comparison is done at Post-Step substep which is before my Post Expression is evaluated to set the correct limits.
    So I have added code to my VI module to set the limits after taking the measurements but before returning to TestStand.

Maybe you are looking for

  • Can't delete iTunes Match music from Music app in iOS 6 Music app?!

    Totally insane - the ability to delete music downloaded from iTunes match has been removed from the iOS 6 Music app! No more "swipe left and delete". I can't find any way to delete music, in fact. Can someone please tell me this is a massive mistake

  • Running Total of a Calculated Member

    Hi Friends , Need help  in calculating the Running Total of a calculated member . I am using the below Query to calculate but it is not showing correct Values. Query : WITH set [FUNCTIONAL BENEFITS] as ORDER( [FUNCTIONAL BENEFITS].[FUNCTIONAL BENEFIT

  • Can I use the iPhone 5s case for the iPhone 5?

    Can I use the iPhone 5s case for the iPhone 5?

  • Uninstall of old products while new ones are running

    Maybe a little paranoid, but I need to ask. We recently did the parallel upgrade/migration for Messaging from 5.2hf1.25 to JES MS 6.1hf.02 on the same server. So, we have the old version still installed in a different path than the new one. I want to

  • An array of arrays  ???

    I have the following sample code. class arraytest int A[] []A[]; how do I use this array declaration and what exactly is it. I can't figure out how to initialize it, or even what is going on ?? thanks for any enlightenment. kris.