NI VeriStand Add-Ons Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Custom VeriStand Steps for TestStand Feedback

Hey Brzeski,

Glad that fixed it - I will add those steps to the installation instructions for 2010 SP1.

I attached an example which opens a project and runs an RT Sequence.

Essentially in your sequence all you need is to have VeriStand open (or use the Start VeriStand Step) then use the Open Project Step and then use the Open RT Requence Step.  Each of the steps that require configuration have a configuration tab that has a button to bring up a configuration dialog. From these dialogs you populate the .NET calls made into VeriStand.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 11 of 202
(5,926 Views)

Kevin,

Thanks for the example, but can you make it using TestStand 2010 SP1? I don't have TS'12.

My guess is that I was trying to use the Open RT Sequence without having the supporting structure that the TestStand steps need.

Thanks.

0 Kudos
Message 12 of 202
(5,926 Views)

Hey Brzeski,

The installation doc has some instructions on configuring a sequence:https://decibel.ni.com/content/docs/DOC-25218.  The key is to have VeriStand open and then all you need is the Open Project then Deploy Project and then the Open and Deploy RT Sequence step.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 13 of 202
(5,926 Views)

Kevin,

Ah yes, that helps. I started from scratch with those instructions and that worked. I'm slightly confused on the implications of the Configure RT Sequence methods. It took me a while to recognize I had to populate the value of each variable in the nivsseq file. Is this for initial conditions only? or will this affect any downstream configuration within the nivsseq file?

Also, I've been using the nivsstimprof to configure channel logging and since we are operating a step lower this configuration doesn't exist. Did I miss a step or is there an alternative method for logging?

0 Kudos
Message 14 of 202
(5,926 Views)

Hey Brzeski,

The parameters you have to pass an RT Sequence are the same as those you would have to pass it if you called the sequence from the Stimulus Profile Editor - some sequences don't have any some have several. How they affect things downstream depends on what the sequence does with the variables afterwards. If you immediately write another value to the parameter in the sequence then passing in a value from the .NET call won't do anything.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 15 of 202
(5,926 Views)

Kevin,

So I've got a basic sequence up and running but I'm still having touble with the 'Open and Deploy RT Sequence' step. It just doesn't seem to run. The TestStand step completes but the nivsseq does not itself, run. The sequence is very basic and I've confirmed its setup correctly by creating a nivsstimprof to call it. I'm confident the configuration is correct, I set I32 in the  stimulus profile editor sequence and the same thing during the configure step in TestStand. I've tried messing with other values, but that's just grasping at straws.

Thanks.

0 Kudos
Message 16 of 202
(5,926 Views)

Hey Brezeski,

Can you post your RT sequence and TestStand sequence - if not some screenshots might be enough. I can take a look at it and see whats going on.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 17 of 202
(5,926 Views)

Brezeski,

Here are a couple of things I got stuck on when I was doing a similar test:

1. When you call "Open and Deploy RT Sequence", it returns immediately because it simply sends a command to the VeriStand Engine to start the RT sequence.  So if your next step is to "Undeploy Project", then it will appear that the RT sequence didn't run.  A quick check is to add a "Wait" statement in the TestStand script after the "Open and Deploy RT Sequence" step for the same length of time as the RT Sequence.  This should give your sequence time to complete before the VeriStand project is undeployed.  Obviously we don't want to use a wait statement after every RT sequence call so I would be interested in hearing Kevin's suggestion for the best way to let the RT Sequence call complete prior to continuing the TestStand script.  Similar to the way VeriStand's stimulus profiles work.

TestStand Sequence.JPG

2.  Also, I learned that I had to set my Parameter Types to "Path" in my configuration dialog for the "Open and Deploy RT Sequence" step.  This might be unique for my test because I was calling a CSV file as my RT Sequence. 

RT Sequence Config.JPG

0 Kudos
Message 18 of 202
(5,926 Views)

The way I set it up to wait for a sequence to complete is:

waitforsequencetocomplete.png

The setup polls the RT Sequence state until it is no longer running and then continues.

The path parameter type should be used for anything mapped to VeriStand - these names come from the API definition but don't match the terminology in the Stimulus Profile Editor Exactly so I am going to try a figure out a better way to make it clear what the parameters need to be.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 19 of 202
(5,926 Views)

Thanks Kevin.  As a suggestion for future versions of the VeriStand Custom Step Types.  It would be nice to abstact this "call and wait" functionality into a single step.  Most of the VeriStand users are use to this funtionality in the Stimulus Profile Editor.  What you have done so far is great!  It really abstracts the complexity of the lower level .NET calls.

0 Kudos
Message 20 of 202
(5,926 Views)