Insert a specified built-in or custom step type in Teststand using CVI

  I try to build a step type . this step type specifies an adapter of DLL, which is developed under CVI. I want to use Teststand API functions in CVI to fulfill the following functions.
  1, insert a specified built-in or custom step type into current sequence;
  2, insert a specified built-in or custom step type into another sequence.
Thanks!
Jacky

Hi Jacky,
There is an example program called Programmatically Inserting a Step into a TestStand Sequence Using LabWindows/CVI and a KnowledgeBase called Programmatically Inserting a New Step in the Currently Executing Sequence that should answer your question.
Hope this helps!
Best Regards,
Jonathan N.
National Instruments

Similar Messages

  • Creating a step type "launcher" that would insert the appropriate built-in or custom step type at edit time

    Hi everybody,
    I'm looking for tips, pointers,directions... to be able to perform this operation in TS 4.0 sequence Editor, if it's even possible...
    I'm managing a test system with a "home-made" virtual instruments abstraction Layer complementary to IVI classes for instruments which do not have classes defined, customizing the sequence editor accordingly for developpers of my department.
    So basically when the instrument is IVI, the developper uses the built-in IVI step-type type and when it is not, he uses the the custom step types that I developped for this particular class of instruments.  
    However there are classes where I do have both IVI and specific drivers available and I do need to use both in the test sequence.
    For example let's say there are two sources of DC power available in the testbench, one being a programmable IVI compliant DC power supply, and the other one composed of fixed "blocks" of DC power supply managed by externals relays and you need to use them both in the test sequence.
    What I would like to be able to do in the sequence editor is inserting the appropriate step type at edit time just by selecting the source of power supply (by a ring or enum for eg), and if the first ressource is selected, it inserts IVI step type, and if the second ressource is chosen, it inserts the appropriate custom step type.
    Any Ideas on how to accomplish this ?
    Regards,
    Cyril
    Cyril Bouton
    Active LabVIEW Developper
    Solved!
    Go to Solution.

    Hello Cyril,
    Here is an idea that could be done:
    You could create a dynamic step by having a step that holds all the properties for both configurations (the superset of the necessary variables) and an extra one that indicates which 'mode' the step is in.  Then you create the main Edit substep in whichever language you desire.  That substep window will then have a box/dropdown/etc. at the top you can use to choose between modes A & B.  When the user changes the value, you would dynamically change the rest of the window to contain the appropriate properties for mode A or B.  You then copy the property values in that window to the Step properties, and copy the mode to your variable and you can run the step in that mode.  When the step then runs, it checks the mode variable, and depending on its value, it will run the step in mode A or B.
    Now we could add a dialog that allows us to choose when we put a step down but we should still allow the user to change later via the Edit substep we create.
    I don't think we can create something that inserts a completely different step, but we can have one step that has the ability to do both and we can pick which one we execute.  Also note we still don't have the ability to edit the Panels for a step, so we have to use a new window that we call from our Edit substep to complete the step.
    Hope this helps.
    Regards,
    Olivier L. | Certified LabVIEW Developer

  • Where to place custom step types in teststand 4.1?

    Hi,
    I have placed custom step types like ieee ssh etc, in the folder c:/documents....../components/user  folder.
    But i  could view them, when i use insert step in sequence editor.
    Please let me know is there any other location for teststand 4.1?
    Thanks in advance.
    Kris. 

    This link shows you the default paths for TestStand 4.1
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Automatically Installing Custom Step Types in TestStand 4.2

    We have developed Custom Step types that needs to be integrated in a deployed TestStand System (customized UI with TestStand RunTime Engine) . We can customize the palette manually and add the related INI file. We also understand that the information gets saved in Testexec.ini in Cfg folder @ C:\ProgramData\National Instruments\TestStand 4.2\Cfg. What I am curious is how this process can be automated.
    Thanks

    dug9000 wrote:
    I just want to add to the above that there are very good reasons to use type palettes even in a deployment. Using a type palette in a deployment ensures that all of the sequences on the deployed machine will use the version of the type in the type palette file... Using type palettes is recommended as a way to control which type versions are being used and to keep types more organized and centralized.
    Absolutely - that's exactly why we're doing it this way.  Our customer is in a regulated industry, and we need to control their development environment configuration very tightly.  Speaking of which, so when will there be VIPM (TestStand Edition)?
    Copyright © 2004-2015 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.

  • Stationglobals in a Labview custom step type inside a new thread do not get updated

    Hi,
    I have a Custom Step type which I use to pass parameters to TestStand from a VI and vice-versa through some step fields. I run the VI inside a sequence in a new thread and expect the VI to update the parameters when I change them through the TestStand StationGlobals.
    For example, I have a waveform injection custom step. I want to continuously inject a signal while I do some measurements on it. So, I put this step type in a sequence and ran it in a new thread. 
    I pass the VI parameter 'Stop_Injection' through a step field as shown in image 1. And I expect the step field to get updated when the new thread is run continuously by passing the corresponding stationglobal in the Pre-expression of the custom step (image 2). But this fails to happen. The VI does not get updated.
    On the other hand, if I do not bother with the step field and directly pass the stationglobal (figure 3), it works perfectly. 
    Any idea why this is happening?
    I hope I was clear in my question.
    LabVIEW 8.6.1
    TestStand 4.1.1
    Message Edited by Changi on 08-06-2009 12:50 AM
    Attachments:
    1.JPG ‏92 KB
    2.JPG ‏42 KB
    3.JPG ‏91 KB

    Hi,
    In image 3 you are linked directly to the StationGlobal of which you are continually updating therefore seeing the changes.
    In the other you are only linked to the Step.Stop_Injection and are only updating this valve from the stationglobals once in the pre-expression. You are not changing the reference.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Custom Step Type SubSteps Bug ?

    Hi,
    I'm having what I think is a bug. I'm doing a custom step type in teststand 4.2 and I can't put the pre-step substep before the post-step. I also know that TestStand are not executing them correctly since my pre-step create an object and the two post-step uses this object to set informations.
    Please look at the picture below

    Hi Crusader,
    Though the Pre-Step is being listed after the Post-Step substeps in your image, it will execute before them because of its very nature as a Pre-Step.  As per the TestStand Reference Manual, the Pre-Step substep will execute immediately before the module, and the Post-Step substep will execute immediately after the module.  
    The Move Up and Move Down buttons on the dialog are meant to function only when you have multiple substeps of the same type, in which case order of operation becomes important.  For example, if you were to highlight one of your Post-Step substeps, these buttons would make themselves available.
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • How do I modify custom step type that is part of a sequence?

    I have an example sequence that has a custom step type called "LabView Reentrant Action". My interest is to modify this step type to my needs. Because this custom step type is part of the sequence there is no definition in global type palette. I was told that I could copy this step into global type palette. But, I don't think I could.
    I can copy the step from the sequence space but I do not have an option to paste it in the palette.
    In sequence space I have options to choose LabView Reentrant Dialog Steps under Insert Step pull-down menu. When I open Step Type Menu Editor in the palette space, all types are listed except LabView Reentrant Dialog Steps. I think these are not showing in the palette because they are custom types built into the sequence.
    How can I extract the custom step type into global palette so that I could modify to my needs?

    Hello,
    If you already have the customer step type "LabView Reentrant Action" then to modify it all you need is to go in "Type Palette" (Ctrl-T) and make modifications in the step type.
    In case you are not able to see the step type in type palette then you need to add the step type in a custom ini file. You can add that ini file by clicking on customize in "Palettes" drop down menu. The you can copy paste a step in the step type and make modifications to the step.
    I would recommend going through Tutorial: How Do I Make a Custom Step Type? for more reference.
    I hope it helps..
    Rajiv

  • Custom step type revision

    I have created several custom step types, but the names are not displayed correctly when I insert a step in a sequence. This worked fine in TS 2.0, but not in 3.0. Is there something that needs to be done with the version of the step type to be correctly recognized in TS 3.0.
    Thanks,
    Scott Trosper

    Scott -
    I am not aware of any issues like this. The version of the step type should not make a difference. Basically the Default Step Name Expression on the General tab of the Step Type Properties dialog box defines the name of the step at insert time.
    Could you append a sequence with the step type in it?
    Could you specify what you got in TS 2.x and now what you get in 3.0 for the step name when you insert a new step?
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Custom Step Type: Sequence Call

    OK, I'm primarily a LabVIEW programmer, but in TestStand I understand how to:
    * Create a Custom Step Type
    * Link a LabVIEW Module for execution, post substep, edit substep, etc.
    * Prevent the user from selecting a different module for an instance of my Custom Step Type.
    All good stuff.
    Now here's what I want to do: the exact same thing, except that I want the custom step to call a subsequence instead of a LabVIEW VI during execution. Yes, I want to use a LabVIEW VI for the edit substep (to set certain parameters for this instance of the subsequence call. Yes, I want to use a LabVIEW VI for the post substep.
    Can this be done?

    Hi,
    Short answer, yes.
    When you create your step type, for the Specify Module you would use a SequcenceCall Adapter instead of your labview adapter.
    You would have to have your sequencefile with your sequences already created seperately and you would set the sequencefile not to use a process model in the sequencefile properties.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Custom step types and custom step data.

    Hello.
    I have a good understanding of how TestStand allows custom step types to allow users to store custom data.
    I have also read numerous posts about users asking for the ability to store some custom data associated with steps.
    In my scenario I am required to write a sequence using a few third party supplied step types.
    To assist in developing and debugging this sequence, we would like to store a container of custom data with each steps.
    Option 1: Create custom step types.
    This is really not an option, relying on third party step types. Any customization made to their step types will magically disappear, along with any custom data, the next time I install one of them service packs.
    You may argue that I just have to ensure all custom fields are recreated before opening a sequence file. This works in my office when everyone is at edge with this, but in a few months someone will "take responsibility"
    and upgrade the 3rd party packs without reading the entire upgrade procedure.
    Option 2: Create links in Sequence Locals
    This does work, but is not very associative. To work, the name of the Locals entry would need to be the unique ID of the step it refers to.
    Also, it requires some more maintenance to insert new steps, and to remove stale references.
    I really hope that someone in TestStand R&D reads this, and enables users to store step custom data, for example by adding a "CustomData" container to the TS property of the step.
    Regards,
    Ivar S.

    Ray:
    Thanks for answering.
    I am aware that I can extend a custom step type by creating a new step type based on the first type.
    For example, I have this 3rd party JtagExecuteTest step type, supplied by another solution vendor.
    In my sequence, I want a custom error & failure handler, that needs information about each step as they fail.
    For handling and logging purposes, I need each step in my sequence to carry information in addition to the setup required by JtagExecuteTest.
    So I set forth, and modify the step type JtagExecuteTest step, along with some other 10-15 step types that the other solution vendor has put in their package.
    This works like a charm until I have to reinstall or upgrade the package.
    Because I modified the steps using their original name, all data I put into the steps are lost.
    Next attempt, I follow your advice and create MyJtagExecuteTest step, based on the original steps. Again, I repeat this customization for 10-15 step types.
    This works like a charm until I have to upgrade the package.
    Now some wise guy at the other solution vendor has renamed a DLL or a function call, breaking down every step that I have customized.
    Mush better, though, because I can repeat the customization process and the data does not disappear.
    Still, this is just too much hassle just to put TestStand to some decent use.
    If I could just click on a step, add my custom properties, and have TestStand retain those data as a user customization that particular step instance.
    Much like you have Sequence.Locals, it would be extremely useful to have a Step.Locals container for the users to use at will.
    Regards,
    Ivar Svendsen.

  • How can I include multiple limits in the sequence file documentat​ion for custom step type?

    Hi,
    I have a custom Step Type that contains Measurements property under Results. Its type is Array of NI_LimitMeasurement.
    I would like to see the values in the sequence file documentation like NI_MultipleNumericLimitTest type.
    Is there any trick to do that?
    Thanks,
    Andras

    Hi Andras,
    I have made  a slight change to the sequencefile 'docgen_txt.seq'.
    In the Sequence 'Step Doc' is a section which handles MultipleNumericLimit step type. There is a precondition check on the step 'Add Multiple Numeric Limits' if the step is of type 'NI_MultipleNumericLimit'. As your step type is based on the MultipleNumeric Limit type, I have just removed this precondition and just relied on the existence of Parameters.Step.Result.Measurement. Equally you could add a new section in this sequence to handle your Custom Step Type which is only called when the precodition match your type name.
    Now when you run the DocGen tool it handles your custom step type.
    Find attached my modified sequencefile 'docgen_txt.seq'.
    Just copy the contents of '..\National Instruments\TestStand 3.5\Components\NI\Tools\DocGen' to the User folder. Then place the attached file in the User\Tools\DocGen overwritting the version that is in that folder.
    Then launch TestStand and try it out on your sequence file.
    If you are using the html version, then you will have to make the same change into Step Doc sequence of the docgen_html sequence file.
    Hope this helps
    Regards
    Ray Farmer
    Message Edited by Ray Farmer on 05-19-2007 05:28 PM
    Regards
    Ray Farmer
    Attachments:
    docgen_txt.seq ‏184 KB

  • "Disable tracing" as part of custom step type behavior

    Hi !
    Currently writing custom step types based on sequences (my step type's default adapter is a sequence), I would like to set the "disable tracing" right in my step type definition.
    The problem is that this option isn't visible in the 'Default Run Options" tab... The only way I found to do this is using Pre and Post Expression to set 'ThisContext.Tracing = True /False'.
    But I don't like the fact to use Pre/Post Expressions in my step type (I would prefer to let it blank for end users).
    Is there any way to achieve this without using Expressions ?
    Solved!
    Go to Solution.

    Here a printscreen on the properties available for my custom step... No TS container...
    Am I missing something ?
    Attachments:
    Step Prop.png ‏15 KB

  • The custom step type

    How can I possibly do the custom step type with MS VB and after that to use this with ActiveX Automation Adapter?
    "Only a life lived in the service to others is worth living..." - Albert Einstein

    Hi,
    The process of generating custom steps is basically the same what every adapter you use. ( See user manual chapter 9)
    As an example I've taken the Computer Demo sequence found in the TestStand\Examples\ for VB and created a custom step for the Power On test.
    Attached is the an ini file called MyTest.ini. Places this in Teststand\cfg\TypePalettes folder.
    Then launch TestStand and you should find the new step in the palette.
    (This is for TestStand 2.0.1)
    Hope this get you started
    Regards
    Ray Farmer
    Regards
    Ray Farmer
    Attachments:
    MyTypes.ini ‏41 KB

  • Custom Step Type Execution

    I've made a custom step type which calls a .NET module. In the Properties>>SubSteps tab I added an Edit type which opens a dialog for the user to enter parameters when they edit that step type. Then I added a Post-stpe type which I thought was what gets called when the step is actually executed in a sequence. When I run a sequence that uses one of these types, the edit dialog pops up again, then only after I close the edit dialog does the post-step run. I assume I read something wrong because I thought the edit step type should only get called when one is editing the custom step type in the sequence editor prior to actually running the sequence that uses that step.

    Josh,
       I think the issue is with the Edit step. Before the custom step type ever runs in a sequence the desire is to be able to edit parameters via some custom mechanism. i.e. one of the main reasons for creating a custom step type is to override and customize the parameter enter\select functionality. When a user adds a step, usually the next thing he or she does is immediately right click and select to edit it and enter parameters. When one of these custom steps is added and you try to 'edit' it, here is where the problems start. If, as you say, the .NET object will not get instantiated until the sequence is actually run, you will never be able to access it and call its functions at edit time. I guess that's why all the examples I've seen use calls to C\C++ style dlls so no objects are involved.
       Clearly the problem stems from my misunderstanding of when a .NET object can and\or will be created in custom steps in Test Stand. It just seemed logical to me that one should be able to force creation of an object in a pre-step but I now know that isn't true. However, there has to be some step or event (possibly when the Test Stand environment loads for example) in which I can create any .NET objects I want to use in custom steps. Maybe I'll look into that. If it turns out to be too much trouble to do so, I will stick to doing things via direct C\C++ dll function calls. Most of our .NET modules are just wrappers of multiple C\C++ dlls anyways. If you have any more info or I'm mistaken in my thinking please let me know. Thanks again.

  • Put the report into shape for custom step type

    Hi All,
    I created a custom step type and also managed to get the results logged into the report file.
    In the report file(See ‘[15 33 14][22 10 2007].xml.vi’ please remove the 'vi' extension) the 'StepResult' (created by my custom step type) appears just below the status. Is it possible to get it displayed somehow the cell(measurement column) next to it, like in a Numeric Limit Step? I’m using the ‘horizontal.xsl’ stylesheet and Teststand 3.5.
    Furthermore, is it possible to change the name of the column headers? Or the structure of the header?
    Cheers
    Attila
    Attachments:
    [15 33 14][22 10 2007].xml.vi ‏17 KB

    Hi again Attila,
    Further to my above post, I've collaborated with colleagues here and have been able to modify the horizontal.xls stylesheet such that it is suitable for what you require. This modification will ensure that all properties named StepResult will be displayed as you described, in line in the table.
    To ensure compatibility with your results in TestStand, a small modification to your sequence file is required. In your sequence file, right click the value for your custom step, go to Advanced > Edit Flags and uncheck all boxes. The text in the bottom of the window should now read "0x0". This should mean that your data is displayed correctly.
    I am attaching the modified horizontal.xls for you to use [remove the .vi extension]; please make sure a backup is created before you replace it. The file should be placed in your TestStand directory under Components\NI\Models\TestStandModels\StyleSheets. Modifications to column headers as described in the above post can be made to this file.
    I hope this soultion is satisfactory and that you are able to implement it. If you have any further questions please don't hesitate to reply.
    Regards,
    Tom
    Applications Engineering, NI UK
    Attachments:
    horizontal.xsl.vi ‏84 KB

Maybe you are looking for