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.

Similar Messages

  • 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

  • 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

  • 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

  • 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.

  • Problems with upgrading interfaces of custom step types

    This question is about configuration management of custom step types.
    Here at Cummins, we have defined our own custom step types (CSTs) using MyTypes.ini. People all over the company use these CSTs in their seq files.
    All these CSTs are calls to individual sequences in a seq file (for simplicity, we'll call this file "Source.seq"). An example CST would be MyStep which calls the sequence MyStep_sequence in the file Source.seq.
    What we want to do going forward is: add one more parameter to the interface of this CST. That means, we will add one more parameter to the sequence MyStep_sequence and then upgrade the definition of the step in MyTypes.ini. We don't want to break existing users, and want the future users of this CST to be able to use this new parameter for newer functionality (ofcourse I did think about creating a new CST all together, but that seemed more maintenance in the future).
    In order to achieve this, my idea was to check mark the box "Use Default" in MyTypes.ini for the new parameter (I propose this because very few of the new users will want to care about this new parameter). At the same time, increment the version number of the step. So now, when an old file is brought up that was using this step, it should be usable just as is without any modifications (ofcourse it will need to be re-saved). When this step is used now by a new person, he will be able to see the new parameter and either not care about it (leave it checked as "Use Default") or pass a desired input to it.
    First question :, does this sound like a good long term approach for maintaining backward compatibility and CM control? Or are there any percieved issues with doing this due to which its recommended to just go ahead and create a new step?
    Second question: this seems to work only if the new parameter is added as a the last parameter in the sequence. if I move things around, (for ex: make this new parameter the first parameter of the sequence), it seems to mess things up. I am okay with making the new interface parameter the last one, but just wanted to throw out this observation I made and see if people had any comments..
    Third question: to make things a little more complex, some of the other sequences in Source.seq also USE MyStep. But I've realized that the only implication this has is, I'll have to open up Source.seq and re-save it beofore I send it out to the users..?

    Hi Anuj,
    Answer 1: Yes, this is a good long term approach in regard to compatibility, maintenance, and control.
    Answer 2: Yes, as of TestStand 4.0 this is expected behavior, as the programmatic reordering of prototypes is not a supported code generation teqnique.
    Answer 3: In short, yes you much open and save every sequence that contains your new CST. Be sure to save your step type first, making sure to increment your version number. This method will ensure that the step type conflict is automatically resolved in files that load this new type. If you forget to increment your version number you will have to manually resolve this conflict.
    Thanks
    Evan Prothro
    RF Systems Engineer | NI

  • 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

  • Add-on step types for TestStand?

    I am almost certainly reinventing some wheels with Teststand by creating some basic test types.
    For example, I just wrote a custom step type for taking an analog measurement from a DAQmx instrument. Surely someone has done this before, and surely someone will want to do it again. There's nothing proprietary about code that simple, and I'd be happy to give it away if there was a place to post it.
    Two questions:
    1. Is there an open-source repository for sharing custom step types?
    2. Are there add-ons for purchase with canned step types beyond those which come with TestStand?
    -Arthur

    Hi Jigg, 
    I looked at Averna.com, and I don't see any add-ins available on their website. It looks like they offer services mostly. 
    It's a good point about TS projects being so varied and customized. However, if custom step types are well architected, as the built-in step types are, then they ought to be reusable by others. 
    You're right also that I can accomplish my DAQmx steps easily using an Action step with the LV adapter. My motivation for the custom step is to improve the interface for setting up such an action. In particular, when using an IO channel in TS, I have to manually type in a text string for the DeviceName value, whereas I'd like to choose from a list of global names (e.g. with the global channel list control in LV). I can get this affect by using an Enum in a wrapper VI, which maps to an array of channel constants; but this is fragile if the available channels are changed (e.g. added, removed or renamed in MAX).
    Additionally, a custom step type is better than a step template for my purposes, because I can propagate changes in the step type to instances of steps throughout the test. This is incredibly valuable to me during development and debugging. It saves me time when I want to update a step that I've used many times throughout a test sequence. Although TS isn't itself a programming language, I find that I expect it to share certain traits with programming languages to facilitate development, such as type abstractions and a strict enforcement of congruency between types and instances. But I digress....
    Thanks for your suggestions.

  • 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

  • Use of type libraries and custom data types in TestStand 3.1

    Consider the following example in CVI 7.0:
    #include <cvidef.h>
    typedef struct
        int                         t_err;
        unsigned int                err_flags;
        int                         err_code;
        char                        err_msg[1024];
    } TEST_ERROR;
    int DLLEXPORT DLLSTDCALL   NfctConnect  (int iPortType, int iComPort, int iBaudRate, TEST_ERROR * tstError);
    I want to call this function from TestStand 3.1 using the CVI Standard Adapter.
    I created a function panel from the header file then I generated a DLL that contains the type library as an embedded resource. Using OLE/COM object viewer I can confirm that the definitions are correct. In TestStand however, all basic types are recognized but the structure is rejected as not being a TestStand type.
    However, a C structure is supposed to be assimilated as a container in TestStand. Do I have to manually create a custom data type in TestStand to match my C structure or TestStand can automatically create the container based on the information in the type library (because this information is available it won't be difficult for TestStand to do this automatically)?

    Hi Spoli,
    At the current time the only adapter that gives you the option to
    automatically create a container for a given parameter is the LabVIEW
    adapter. In your case you will need to manually create the container
    that matches your C struct. I apologize for the inconvenience.
    One thing you can do to see this feature in future versions is make a Product Suggestion on our website. Our R&D engineers are always looking for good feedback.
    Have a good one Spoli,
    Dan Weiland
    Applications Engineer
    National Instruments
    Dan Weiland

  • 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

  • How can take a Custom Data Type in TestStand and create a LabVIEW DataType?

    I am using LV 8.2 and TS 3.5.
    I have an existing Custom Data Type in TestStand and I want to make a LabView Type Def.  The TS DataType contains 11 elements: a Visa Resource Container of 2 elements (String, DeviceName and Number, Session), 9 Numerics and 1 String Array.  For Backwards compatability, I cannot modify the TestStand DataType.
    Thanks,
    Jean

    Hi Goldee,
    You should be able to do that. It's a two step procedure.
    1) Creates in LV a custom datatype that maps 1:1 yours TS datatype.
    2) Go in the TypePalette in the properties of yours TS Datatype and check into LV Cluster Passing Menu'. Here you can Connect a specific Field of the TS datatype to a Specific Label of the corresponding LV datatype. Once you've done it the TS datatype will result modified, I mean "starred" but the change you applied should not impact the datatype structure itself only the way you pass it to LV.
    Have a good day
    FiloP
    It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong.
    Richard P. Feynman

  • 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

  • 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

  • Custom step type

    Hi,
    I am using TS4.0.1. and LV 7.1.
    I tried to create a custom step type (MultipleNumericTest_VBATPXI), which similiar to NI_MultipleNumeriLimitTest.  The difference is, I have two additional measured data. (I don't want to check those against Limit, but want to log to the database. )
    So I created the custome Datatype (Limit_test_VBATPXI) similar to "NI_LimitMeasurement" and add required two fields.  This datatype is passed to the "MultipleNumericTest_VBATPXI" steptype for Result.Measurement  type.
    In property browser it shows Results.Measurement as Limit_test_VBATPXI type. But when I add one value in Limit window, Result.Measurements.Measurement[0] becomes type of NI_LimitMeasurement !
    How to solve this?
    br,
    Vishal
    Attachments:
    Test_Type1.seq ‏30 KB
    test38.vi ‏13 KB

    Hello Vishal,
    When you click the "Add Measurement" button on the Limits tab of this step, it is actually calling the EditSubstep of the NI Multiple Numeric Limit Step type.  This Edit substep function, EditMultiNumericMeasurementStepUsingExpr(), is located in the  "<TestStand>\Components\NI\StepTypes\CommonSubsteps\CommonSubsteps.dll" file.  If you wanted to change the behavior of your custom step type, you would need to make your own dll (all of the source code for the CommonSubsteps.dll is provided) that would add your custom type instead of the NI_LimitMeasurement type.  I hope this helps alleviate any confusion.
    Best Regards,
    Software Engineer
    Jett R

Maybe you are looking for

  • Separate tab for equipment Attributes

    Hi All, Please I need some help here. I have created some characteristics and assigned them to a class. I have now assigned the class to an equipment directly through the equipment master. When I display the equipment, I need to click on Class Overvi

  • After any settings update, Airport utility can no longer see airport

    I see many complaints on the internet, but no solutions. If I go into the airport extreme via the utility and make some changes that require the airport to reboot, it becomes invisible to the airport utility. Therefore, anytime I want to make changes

  • IDVD 07 does not finish burning

    Hello, I am trying to burn my home video project in iDVD onto a DVD+R cd. The status bar in the "Multiplexing and burning" stage is completely full, and it says "done" beneath the bar. Time remaining says "about one minute"... but it has been saying

  • Complaint re length of time to be reconnected

    I waited 12 days to get back online and 2 weeks to go back on my original number. Do you think I could claim for compensation? How do I go about it

  • My iPhone keeps restarting when i try and edit my pictures

    i can open my pictures and view them but when i hit edit then crop it restarts i have tried restoring it and it didn't work?