09-02-2010 02:17 PM
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.
09-07-2010 03:20 PM
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.
09-07-2010 07:05 PM
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.
09-08-2010 05:43 AM
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.
09-08-2010 09:48 AM
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.
09-08-2010 10:12 AM
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.
09-08-2010 04:45 PM
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:
09-08-2010 04:56 PM
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