From 11:00 PM CDT Friday, May 10 – 02:30 PM CDT Saturday, May 11 (04:00 AM UTC – 07:30 PM UTC), ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

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?
0 Kudos
Message 1 of 19
(4,585 Views)
Hi,

No you are not doing anything wrong.

But if you have created a step type using the Post sub-step this should picked up the latest when you open a sequence file.

If you started off using the code module location and switched to the post sub-step then unfortunately all steps using that step type will still retain the information in the code module position. The only way will be to manually change the steps or re-insert a new step.

I have brought this up with the good people at NI (TestStand), when they introduce the 'replace step with' facility in TS3.0 but were not willingly to change this.
It unfortunate, because when you create a step type, you realy need all parts of the step type to be update not just bits of it. With the standard step type that maybe a different matter, in that you probably what the code to mean the same as specified.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 2 of 19
(4,574 Views)
Thanks Ray,

Hmm.. that is a shame. It does seem very odd that only parts of the step type appear linked to the type palette.
I'd like to open this up a little...
Has anyone else out there had problems with this limitation?
Any inventive ways around it?
What's NI's current position on this?
0 Kudos
Message 3 of 19
(4,570 Views)
I have had this problem also. In my opinion this is a huge problem. I have gotten fully immersed now in custom steps and I find that this problem crops up all the time. The documentation is scarce to non-existent. I stumbled around and found the solution on my own. Calls to NI produced mediocre responses, since I seem to using the product in a very non-standard way. But if you look at application notes they tout it as being so easy. Sorry about the rant. I really do feel that NI is way ahead of anyone else but this is a very important piece of TestStand functionality IMHO.
0 Kudos
Message 4 of 19
(4,564 Views)
Hi Kphite,

Did you find a solution to the problem?
The only way I can think of is to rewrite a new sequence editor to rebuild sequence files when opened from type palette step types - but unfortunately I don't have 3 years worth of development time available! 🙂

Message Edited by RichM on 03-15-2005 04:36 AM

0 Kudos
Message 5 of 19
(4,559 Views)
Hi,


Dont think you need to write a new sequence editor.

How many files / steps need to be changed?

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 6 of 19
(4,552 Views)
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

0 Kudos
Message 7 of 19
(4,552 Views)
Hi RichM,

Sound like you have done most of the work.

Do you know that you can setup the disable properties when you create your step type. By checking on the Can Specfiy Module, it greys out the menu item in the Sequence Editor. Likewise for Can Edit Code. This would have stopped anyone from changing the code from the sequence editor.

Having a local copy can cause some confusion, but if you had changed the version in the type palettes first. Then when you load your sequence file, you should have been prompted that types had changed and which to use.

Also, even through you delete all instances of a step type in your sequencefile, you also have to delete the local step type version as well, to remove all trace of it.

There is an option in the General Tab, 'Attach to File....', with this unchecked you dont save the step type with the sequencefile. Therefore when all the step are removed from the sequencefile, the type is also removed from the sequencefile as well.
This many have removed some of the problems you are having.

Have you talked to your NI representive directly about the problems you have been having.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 8 of 19
(4,547 Views)
Thanks for the info, Ray. I did consider disabling the option to edit the code module but the issue I had was this:
- If the prototype of the code module changes, every instance of the step type needs to be updated (which is a nightmare, and you cant even do it if you disable the option)

Ideally, if the step never changes - the Type Palette is perfect. But every development scenario I have been in requires that changes be made to steps after they are thought to be finished.

Out of interest - does anyone know what NI does with new versions of NI step types? For example - if they needed to add a new parameter to the post-step substep of the IVI scope step in a new version of TestStand - they'd have the same problem right? I.e: anyone who opens sequences developed with the "old" type would not correctly link in with the new type, right?
I did a quick test saving a GOTO step in TestStand 3.0, and then opening in TestStand 3.1 - sure enough the icon updated correctly and the type version was specified as "3.1.0" - but I guess these could be properties that did work anyway (since substeps are not involved).
0 Kudos
Message 9 of 19
(4,535 Views)
Hi..

I have the same problem. I have found out that I have made some of my step types with a absolute path instead of relative...

Ok no problem.. I just change my step type "master" and then all seq, will see the change and update..... But no.... it actual gives 2 problems afterwards, because it updates the poststep vi from absolute to relative, but the executing vi is still absolute, so now labview coming with an error that it cant load 2 vi's with the same name....

My problem is that I have started to move from my developing environment to the production....

So I also need an workaround so I don't have to go through all my seq, and press "change step type"...

Kind regards Thomas
0 Kudos
Message 10 of 19
(4,276 Views)