From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Stimulus profile documentation

I'm trying to develop some test cases with the step and table stimulus editors.  Is there any additional documentation available other than the description in the help file and the simple example?  Specifically is there an ability to read from arrays?  Nested for loops?  Methods for pausing/starting generators at a specific step, etc. 

0 Kudos
Message 1 of 11
(8,168 Views)

I haven't been able to find any additional documentation, but I was able to figure out what is needed in the .csv file to use the table version of the stimulus profile editor.

 

The first column needs to be called 'timestamp' and the other columns should have titles that match aliases to channels within your system.

 

The timestamp column should start with zero.

0 Kudos
Message 2 of 11
(8,138 Views)

Hi jay627,

 

Cody H is correct that there is specific formatting for the .csv table to be imported into the Stimulus Profile Editor - Table. For more detailed information about this, check out this KnowledgeBase article.

 

Regarding your other questions, are you looking for steps that do these things automatically, such as reading from an array? With a little bit of work, you can probably implement loop functionality using the Conditional step to go back to a specific step if a certain condition is met.

 

Aaron P

National Instruments

Applications Engineer

http://www.ni.com/support

0 Kudos
Message 3 of 11
(8,130 Views)

Yes, I've managed to use the table (csv) file.  That's not what I'm looking for as there doesn't appear to be any way to control execution/flow of the table script.  I have had (limited) success forming "for" loops with conditional statements.  It seems to work properly once or twice then it stops working.  I'd say my biggest need right now is to be able to read data from an array. 

0 Kudos
Message 4 of 11
(8,121 Views)

Can you describe a little more about what you mean by "read data from an array?" What array is this? Where does this array data come from?

 

The step-based profiles have a replay function that you can use much like the table-based profiles. The replay function serves as one individual step.

 

Regarding For Loops, this will require using the Conditional Statement along with one or more System Definition User Channels to store the current and desired iteration count. If you want nested For Loops, you would need two more User Channels.

Jarrod S.
National Instruments
0 Kudos
Message 5 of 11
(8,111 Views)

I sure can, thanks for the response.  What I'm looking for isn't much different than the table function.  However, I don't want it to "play" values. The test I'm trying to duplicate works like this (in Labview): there is a csv file that contains a column for speed and a column for torque.  For each value of speed that we read (outer loop) we then read and loop (inner) through each value in the torque column.  We have to wait for the system to reach steady state between value changes before moving to the next one.  If the device under test gets too hot, we fall back in to a cool down procedure before resuming the test where we left off.  As you can see, blindly playing a table or script will not work for this test. 

Message 6 of 11
(8,107 Views)

Thanks for the extra info. That helps explain a lot. Are you using NI VeriStand 2010 or 2009?

Jarrod S.
National Instruments
0 Kudos
Message 7 of 11
(8,100 Views)

Using 2009 right now.  I keep hearing 2010 is on it's way to us but I haven't seen it thus far.  Does 2010 have some features I'm looking for?

0 Kudos
Message 8 of 11
(8,094 Views)

NI VeriStand 2010 has some incremental improvements in the stimulus profiles that could help you solve some of these problems. The main one I'm thinking of is the Variable Replay step. (A bug in VS2009 prevented this step from working properly.) Variable Replay plays back data based on an alternate time channel, rather than just using System Time.

 

What this allows you to do is effectively index an array like you want to. What you do is import your data to play back from file with the rate set to 1Hz. This data constitutes your array. Then you configure the step to use some User Channel as its "time", and you just increment that channel up 0, 1, 2, 3, ... You control the User Channel, and it effectively operates like an index into your array of playback data.

 

The Stimulus Profile Editor dialog has a number of other useful improvements in 2010, including:

  • Copy/Paste
  • Unified dialog: There is no longer a separate Table and Step editor dialog. There is one dialog that can include a mix of one type and the other.
  • Offline editing: No longer have to have the Workspace running to create your tests. You can do so offline.
  • Error monitoring window: Monitors, for instance, if you have a Set Variable step with no channel specified at edit time.
  • Synchronization step: This step allows a generator to wait for another generator to reach a specified step.
  • Interpolation option for Table-based replay.
  • More file formats for importing data other than just CSV. Now you can use TDMS, MAT, MDF, TXT, etc.
  • No more limit of 8 log configurations.
  • Multi-controller execution: A stimulus profile can execute across multiple controllers. In addition, a single data logging configuration can span multiple targets.
Jarrod S.
National Instruments
0 Kudos
Message 9 of 11
(8,083 Views)

Here is how I approached a simplified version of your test in NI VeriStand 2010. I used a CSV file with columns for Speed and Torque as the starting point.

 

Generator 1: Mapped to Speed

1. Variable Replay: Plays Speed profile with time channel called User Channels\Speed Table Index

 

Generator 2: Mapped to Torque

1. Set Speed Table Index = 0

2. Replay: Play back Torque data from file

3. Dwell: Inserted to demonstrate waiting for settling

4. Set Speed Table Index = Speed Table Index + 1

5. If (Speed Table Index < 10) Goto Step 2

 

Jarrod S.
National Instruments
0 Kudos
Message 10 of 11
(8,082 Views)