Update Step Types

Hi,
I want to add a property and a pre-step to the NumericLimitTest step type.
I have already developped some sequence files and I want to update them easily.
How can I do that ? (I use TestStand 3.1)
Bruno

Hi,
The best way would be to make a copy of the NI NumericLimitTest step type. When you try to edit the NI NumericLimitTest step type it forces you to create a copy (unless of course you have the 'Allow Editing of NI Installed Types' enabled in the Sequence Editor Options, I wouldn't advise doing this). If this has been enabled then you would be able to do what you like the the installed step types.
Once you have you own version of the NumericLimitTest step type.
Make your changes to it. Once you are happy with the changes.
Open your SequenceFile and use the Replace tool in the Edit menu to change the steps using the NI NumericLimitTest step type to use your version. You will then have to edit each of the steps in your sequencefile to change the new properties, you have added, from any default values to actual values.
Hope this helps
Regards
Ray Farmer
Regards
Ray Farmer

Similar Messages

  • 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

  • Step Type not updating properly with LabVIEW

    I have a custom steptype that reads the information from the step properties.  I also want this VI to be used as a stand alone.  So I read the sequence context handle to determine if I am running in TS or standalone.  This works fine.  Because it is a stand alone I have a cluster of all the variables the I will need input.  This is where the problems start.  I noticed that when I define the step type in TS that I load the prototype.  I choose to use the default values for the cluster input because I will read the real values inside the VI.  When I "EDIT" (ctrl-E) the step it works fine.  However at runtime I notice that occasionally the default value is used instead of the real data stored in the step type.  I assume there is a race condition for when my variables are loaded.  I assumed that when TS loads the prototype it will load the default values, then my LabVIEW TS properties will read and set the values of my VI.  What I am seeing is that about every other time my LV will read the steps and update the value correctly then other times TS will overwrite the values with the default after I have read them.  Some other wierd fluke I would notice that the variables would be updated in a similar but different named cluster.  This I haven't be able to reliably reproduce.  It is almost as if the references to the controls would get confused and switch to another control temporarily.
    One fix that I have done is to not use the default value but pass the actual step value.  See attached pix.  This is tedious because some of my steps are large.  This is not flexible.  Some of my variables I would like to point to different locations, such as a FileGlobal instead of step.XXX.
    Has anyone seen this before?  When does LabVIEW actually write the data from TS into the VI?  It appears that I am having a race condition between me updating the variables by reading the step values and when TS is loading the prototype.
    I am using LV 7.1 and TS 3.5.
    Thanks.
    Attachments:
    default.jpg ‏120 KB
    step.jpg ‏137 KB

    Hey Taylored_Solution,
    I'd love to try to help you out with this issue you're having, but I'll be honest - I'm finding it a little hard to follow what's going on.
    Have you been able to isolate this behavior to only one single VI (the one you're currently working on), or, is this behavior reproducible in multiple VIs? 
    I ask because if it's reproducible in multiple VIs (a new VI), would you mind giving me sort of "step-by-step" to follow so that I can try to reproduce and decipher the behavior you're currently seeing?
    If it's isolated to the VI you're working on and not easily reproducible, can you create a copy of your VI, remove everything not-pertinent to the behavior you're seeing, and post a very simple example so that other users can take a look and weigh in?
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • Automatic update of Step Types

    I have developed a Step Type and I've used it in several sequences. After a time I've made some modifications on this Step Type. Now, when I open the sequences where my step type was, I don't have automatically the updated version. Is it possible to "compile" or "update" the sequences in order to avoid this problem?
    Thanks

    Angel -
    Most properties in a step type are default properties, that is the step type defines them and the instance step gets these value only when the step is first created. If you notice in the Step Type Properties dialog box most of the tabs say "default".
    If a step instance is loaded at the time you edit a step type property and you check the box at the bottom of the dialog box that says "apply to all instances", the changes to the step type will also be applied to the loaded steps. If a file is not loaded, the steps in that file will not see these changes.
    If you want to apply the step changes to the unloaded sequence files, you need to perform the above actions again while these other sequence files are loaded.
    Scott Richardson
    Scott Richardson
    National Instruments

  • How do I make Step Types in the Type palette be "master" versions which all sequence files on a particular should use? (since this only seems to "half work")

    The situation I would like is to have a library of step types which sequence developers can use. Therefore if new step types need to be added, or existing ones modified - all that needs to be done is to roll out a new MyTypes.ini (for example), and the code modules/substeps.
    Scenarios:
    If I create types in MyTypes.ini (make sure "Attach to this file" is checked, so they get saved here). I can then create a sequence file using these step types. No problem so far.
    I can open the type palette, modify the step properties, and save. When I go back to my sequence file an asterisk appears (saying it needs to be saved, even if I have opened it from scratch). The properties have been updated to reflect what is in the Type Palette. Still no problem (Type versions are the same in the sequence file and type palette).
    This is where the problem appears:
    If I change a step type (in the Type Palette) from using a code module to using a Post-Step substep instead (changing the module adaptor to "None") - any instances do NOT update when you open sequence files. (The same happens vice versa also).
    Please note that the "Type version" listed in the sequence file DOES match that listed in the Type Palette - the properties are the same but the manner in which the code modules are called is DIFFERENT! This then can lead to to runtime errors if the old code module has been deleted for example.
    The only way around this is to open EVERY sequence file that contains an instance of the step type, and make sure that you have "Apply changes to all loaded instances of this type" checked in the step type properties dialog. This is is not a good solution since files could be missed, and is very time consuming if you have hundreds of sequence files!
    What I need is that the Type Palette on any particular station contains the MASTER copies of each type. These are loaded whenever a sequence file is loaded and NOT retreived from the sequence file. As discussed above this seems to work when you modify properties - but doesnt work fine if you change the way in which code modules are called.
    Am I doing something wrong or is this a limitation?

    I had a system recently containing seven sequence files, approx 20 subsequences in each, and around 10-20 steps in each sub-sequence. Every step (except for the NI non-code module types) was an instance of a step type.
    Each one of these steps had an Edit sub-step and a code module called through the code module adapter.
    In order to make these into "wrapped up" step types it was decided to move the code module to a Post-Step substep (as also done in the NI-IVI step types) - so that developers cannot fiddle with the code prototype or module.
    In order to do this I had to open all 7 of the sequence files, make the changes and then ensure that "Apply changes in this dialog to a loaded instances" was checked. This seems to sort of work, but some steps started causing Error 17502 (System Error) when you configure them (call the Edit substep). Over the course of the past few months I have had to effectively check every instance of a type to see if it works (deleting the step and replacing it when it doesnt). Other strange things happened like some of the step type instances now have the "None" (adapter) icon associated with them - but both still work.
    The idea of creating a type-def of a step type is a good one, but frustrating that it doesnt seem to fully work. Why should the sequence file also store a version of the step-type - which is what is effectively causing this problem - why not make it so that if you dont have the step types installed in the type palette - TOUGH! Message Edited by RichM on 03-15-2005 06:55 AM

  • Java Step Types with Java Virtual Machine higher than java-6u16?

    Documentation of Java steps says, that these steps are tested with java version 6 update 16. I am talking about the java step types that can be found in directory <TestStand Public>\TestStand 2010\Examples\Java. 
    If I install another java version, e. g. java 7, step "Start JVM" will exit with an error "-4" and error message "Could not launch JVM.". While Debugging source code of JavaCall.dll, I figured the failing code line out:
    "fpCreateJVM(&jvm,(void**)&env,&vm_args);" is the execution of function "JNI_CreateJavaVM" and returns error code -4.
    Till now I could not find out, why the jvm does not start. I guess -4 means "Insufficient memory to create the JVM." (http://zone.ni.com/reference/en-XX/help/370052J-01/tssuppref/infotopics/java_steps_errors/)
    Has anyone an advice for me?

    This post gave me a hint: http://stackoverflow.com/questions/3400292/jni-enomem-from-jni-createjavavm-when-calling-dll-that-us...
    Though my development computer has enough ram, jvm is started within the Teststand process which offers limited memory. I changed JavaCall.c and added parameter "-Xmx64m" to the jvm creation call. Now it works with jre 7.
    Because memory space Teststand offers to the jvm is different on different computers, an implementation would be nice that checks how much memory is available and then passes the calculated <MEM> as parameter "-Xmx<MEM>m". Here is an example implementation: https://forums.oracle.com/forums/thread.jspa?threadID=1546540

  • User Decision step type

    Hi,
    I have developed a WF for 'Notification of Absence'. In this, a leave request is sent for approval.
    When the leave request is Rejected, the creator has to make a decision (User Decision step type used) as to 'Withdraw' or 'Update' the request. But in the inbox of the creator, there is no option for "Withdraw' and 'Update'. What could be the reason for this? Am i missing something?
    Thank you for your time.
    Ajay

    Hi AD,
    are you trying to process anything else after the Decision Step in your WF definition ?
    If yes, then what are you trying to process after it
    If no, then try what JMB said, GUI problem, I doubt that but you can try as you need to resolve it.
    Did you try removing the buffer ?
    Hope it helps.
    Aditya

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

  • When i run a sequence with ivi step types in simulation mode i get the error code number BFFA0015 - Types do not match.

    When i run the sequence with ivi step types in simulation mode i get the error Types do not mathc. The step that generates this error is an IviScope step type and is configured as a measurement. Th weird thing is that in real mode is working perfectly. I have three measure steps and i get the error in all of them. The exact error message is:
    UUT Result: Error, Error executing substep 'Post'. An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types 1.0 Type Library' An error occurred while executing the step. Component Works IVI Control Error: The IVI Read operation failed on channel '1' for logical name 'SampleScope'. Details: (1
    ) Types do not match. [IVI Error Code: BFFA0015] Source: TSIviStepTypes [Error Code: -30721, User-defined error code.]
    Can someone tell me how to fix this problem?. It seems to me that the simulation generates a diferent type of measurement of that generated in real mode.

    Update:
    The simulation driver appears to be raising the error. By switching to specific driver simulation the error does not occur. This may be a problem in either the class simulation driver or the specific driver.
    Scott Richardson
    National Instruments

  • IviAcPwr step type in Teststand available ?

    Hello,
    Im'using Teststand 2010 & Labview 2011 and i was looking for step type working with IviACPwr class...
    I found Dmm, Scope, Fgen, Power supply (DC) & Switch...
    Could someone tell me if there is an update for IviACPwr step type ? 
    Thanks for help.
    GG
    Ivi coompliance package 4.4.0.
    Solved!
    Go to Solution.

    There is not a built-in step type for IviAcPwr in TestStand.
    CTA, CLA, MTFBWY

  • Know steps names of called sequence file using sequence call step type in TestStand

    Hi,
        I have a problem in accessing step names in called sequence file using "Sequence call"step type in TestStand 4.0.
    I would list out all step names of called sequence file. Is it possible to do through C#.NET? If, yes, Please explain to me in detail with possible example.
    Thank you,
    regards
    RKK

    Hey RKK,
    I want to first set your expectations for the forums.  This is not a place for people to review and rewrite your code for you; this is a place for specific and general questions.  I am not saying your question in this thread is inappropriate, because it is a good questions.  We should just not post code and ask others to fix it here.  If you are looking for this type of service we have alliance members that can help you write your TestStand Operator Interface (www.ni.com/alliance).
    As for you question about getting the sequence names for a sequence file that is not the currently running sequence file, you will need to open a reference to that sequence files and then use the API calls that I mentioned in my previous posts.  You can use the Enigine.GetSequenceFileEx function to open a reference to sequence file, and you will need to close the reference with the Engine.ReleaseSequenceFile function when you are done using it.  After you have a reference to this external Sequence File, you can use the example dll and sequence I previously sent you.  I also attach a new sequence file (SeqFile2.seq) plus an updated GetNames.seq to illustrate how to use the above mentioned functions.  I hope this helps.  Have a great day!
    Best Regards,
    Software Engineer
    Jett R
    Attachments:
    GetNamesOfSequencesInFile.zip ‏52 KB

  • Latest IVI Class Step Types in TestStand

    IVI instrument classes have recently been defined for RF Signal Generator, Spectrum Analyzer and Power Meter. There are IVI drivers for these classes available for download from the Instrument Driver network. However, TestStand3 does no contain step types for accessing these drivers. Does anyone know when NI plans to add support for these to TestStand? Has anyone created step types for these classes, or have an example of how to do this?

    David -
    There is no documentation on the low-level workings of the TestStand IVI step types. As with many of the step types that have source code, it is available as examples of developing a step type in various languages.
    The additional work to add the a new class to the TestStand IVI step types is not small, that is why to date we have not done it. The amount of work could be divided into the following areas:
    * Update the TsIviStepTypes to add the new class to the enumeration.
    * Create the new step type definition (subproperty structure) based on the IVI spec.
    * Upcate the TSIviStep and TSIviSFP code to allow you to edit and perform the work to process the expressions and initiate the various IVI class operations.
    * Add low level
    IVI class layer logic to talk to the IVI class driver. This piece was previously done in a VB ActiveX control written by the Measurement Studio group in NI.
    The last two items are the biggest and they would take some time. That is why I was suggesting creating specific Action steps that call into custom code modules to talk to IVI directly, that is, no edit dialog box, no SFP, etc.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Show popup dialog at step type dropping to the sequence

    I have a LabVIEW step type with some module parameters and step's variables what needs to be setup to configure this step. Can I make it to display the popup dialog to enter the required values at the moment when I drop the step type to a new sequence?
    Examples: 1. I have TestID in steps variables what needs to be setup. Popup dialog is more convenient than going to Variables and searching for the TestID in tree. 
    2. I have one step type which does a different actions depending of the enum parameter in the LabVIEW module. This parameter is set to default in steptype. I'd like the step name in my sequence to be the value of the enum. Something like RunState.Step.TS.SData.ViCall.Parms["Configuration Update"].ArgVal in the step type Default Step Name Expression helps and displays the enum text as step name when I drop the step type in the sequence. But changing the Configuration Update parameter in this step to another value does not followed by changing the step's name, looks like the step type's Default Step Name Expression is evaluated only once when step is created from the step type.
    Sergey Kolbunov
    CLA, CTD
    Solved!
    Go to Solution.

    Thank you Doug, your advise works just perfect for the first case. OnNewStep, who may think about it? Is it documented somewhere?
    For the second case it is not so straightforward. I don't care so much about automatic update of the step name when it is already in a sequence, setting this name and the appropriate module's parameter at insert will be enough. Tool to update names is not a problem, I'm using such kind of tool to automatically update sequences when my step types got changed. I need the subject feature because I'm trying to create a custom sequence editor for end users with minimal knowledge of TestStand.
    Talking about second case, it's look like setting of module's parameter via expression does not work. Now I'm trying to set it using TestStand API in the OnNewStep substep.
    Now I have another problem. How to access the TestStand Adapter API automation server in LabVIEW? I'm trying to get Sequence Context ->Step ->Module ->Parameters but to get Parameters property of LabVIEWModule class the TestStand Adapter API server required while I see properties list for the Module class of the TestStand API server. It seems to be very easy to switch server in TestStand but how to do it in LabVIEW?
    Sergey Kolbunov
    CLA, CTD

  • Update All Types' Versions in Type Palette

    Does anyone have a quick way to update the versions of multiple types in a type palette?  I can change them one by one in the Types editor, but that's very tedious when I've got 50+ types.
    I'm working on a set of custom step types that we are distributing in a type palette.  For content management purposes, it would be nice to have all of our custom step types and our custom data types have the same version.
    I could save my type palette as INI or XML format and do a search and replace, but that's a cludge. I'm sure I could write a small sequence using the TestStand API to do this, but wanted to see if anyone else has had to do it before to save myself some time.
    I'm also open to being convinced that this is a bad idea if someone can give a compelling reason.
    Josh W.
    Certified TestStand Architect
    Formerly blue

    Found it!!
    The attached file will
    1. Show you all the type palettes you currently have on your station and ask you to choose the one you want to update
    2. Ask for the new type version
    3. Update all types with new type version (apart from the ones which are from NI like Substeps)
    4. Increments palette file change count
    5. Prompts user to save palette file
    Thanks to doug9000 for the help.
    Cheers,
    Aditya
    TestStand 4.2.1
    LabVIEW2009 SP1
    Changi wrote:
    Hi Josh,
    I am also looking for the same thing. I found something, but it is not the perfect solution.
    1. Have the names of all the step types in the palette file. You can put them in an array variable in a sequence, or read from a file.
    2. Use the RunState.Engine.GetTypeDefinition("<TypeName>") and store the resulting object reference in a local variable 'TypeDef'
    3. Use Locals.TypeDef.AsPropertyObject.TypeVersion = "<NewVersion>" to set the new version.
    THe reason I say it is not perfect is that I would like to somehow get the type names from a type palette file automatically. I haven't been able to figure that out. Any help will be great!
    Cheers,
    Aditya
    TestStand 4.2.1
    LabVIEW 2009 SP1
    Attachments:
    Set New type version_NI Forums.seq ‏10 KB

  • Problem in Form step-type

    Hi Experts,
    I am new to workflow and exploring various step-types of it. I am using FORM step-type in my workflow.
    The container element is of the type EKKO and action type is CHANGE.
    When i execute the WF by giving a PO number and make any changes in the output and click on save and exit, the changes that are made are not getting reflected in the EKKO table.
    Do i need a separate code for updating the table?
    Thanks in advance.
    Regards
    Balu

    Thanks for the suggestion Arghadip.
    I was going thru a blog on WF step-types, in which it was mentioned that after pressing SAVE AND EXIT button , the data gets saved in the required table from which the container element is created. Hence i thought that additional code is not necessary.
    Could u plz tel wher exactly the code needs to be written.
    Regards
    Balu

Maybe you are looking for