03-07-2016 07:02 AM
Hello,
I've just downloaded the new release of the custom steps that use packed library.
Please, how can I modify the VIs if they are included in a packed library?? I've done a lot of customizations on the previouse version and now I can not go with the new version if I can't apply my customizations.
Regards
Daniele
03-28-2016 01:37 PM
Holt,
I have the modifications ready, and should have it posted soon.
I added a step variable named "Timeout_ms" which defaults to -1 and that leaves the blocking behavior it has today, with an infinite timeout. You can set it to any value, where 0 would give you a totally asynchronous call (not caring about waiting for it to write). That's what you want.
There is also a boolean step variable in the results section called "timed_out", which goes true if the step times out. That way, you can get feedback if you have a reason to set it to some value other than 0 or -1.
D4N!3L3,
The packed project library solved problem by the time you had a larger application where LabVIEW was also calling the VS APIs. The PPL adds namespacing which starts to be necessary by the time these systems grow to their full size. Right now not all the builds have PPLs, but going forward I expect them to stay PPLs.
I haven't responded becuase I have been working to get the source posted. I have approval now, and hope to be able to move the source to our GitHub site soon. Soon is relative - it may take a few days or weeks still. Is there a timeline you need it by?
Thanks,
Andrew
04-08-2016 08:15 AM
Hi HandyAndy,
I just started to use Veristand (2015) Add-Ons for Teststand (2014 SPI) and have couple of questions to ask which I didn't find satisfied answers by looking through your previous discussion.
1. I am using Post-Expression in steps such as RT Sequence Action, RT Sequence Numeric Limit Test, Get Channel Value, etc. to pass parameters from VeriStand and RT Sequence to TestStand. Is that the right way to do it or are there any easier ways which I didn't find out.
2. Is the return value (Step.Result.Veristand.Returnval) the only parameter that can be passed from RT Sequence to TestStand by using the RT Sequence Action step? Since only one parameter can be added as a return value in real-time sequence, how can I pass multiple parameters to Teststand?
3. There is a good feature in Stimulus Profile to run a .csv file as a real time sequence. Is there a way that I can do the same thing in TestStand? I learned that calling Stimulus Profile from Teststand is not recommended. Why? If calling a Stimulus Profile is the only way to run a .csv file, are there any limitations or side effects to do this, such as some latency issue?
4. What is the difference of calling a RT sequence from set and get channel values directly from Veristand?
Thanks,
Chuan
04-13-2016 01:58 PM
Hi Chuan,
1. I think you are asking: I am using the Post Expression on the step to take the return variables from the steps that talk to VeriStand and store those variables into TestStand variables such as Locals. That is the right way to do it. That probably means that you have found the outputs of the steps, and how most of them live in places such as Step.Results.VeriStand
2. As of now, only one variable can be returned as a "return variable" from an RT sequence. What we often do when we need more values back out of an RT sequence is to use User Channels. You can create User Channels and name them something like Return1 and Return2. The RT sequence can write values to them, and then TestStand can read those channel values after the sequence returns. Supporting more return variables is on our wish list.
3. If I remember correctly, VS does not have an API call to run a Stimulus Profile. If it did, it certainly can't have any parameters passed to it - so it would only be capable of doing one fixed operation, rather than a flexible, parameterized one. I'm curious what your use case is for this. If you tell me more, I hope to be able to help.
4. An RT sequence certainly can get and set channels in VeriStand, but it also allows you to put more logic in the RT sequence. These sequences are executed in RT on the target rather than on the host pc like TestStand is. That way, you can execute a precisely timed stimulus, evaluate precise timings, or other such operations. Anything that requires timing more tightly than tens of milliseconds likely would benefit from RT sequences - any part of a sequence that needs to be deterministic.
Let me know if that helps.
Thanks,
Andrew
04-13-2016 02:55 PM
Hi HandyAndy,
Thanks for your detailed explanation. That helps a lot. I don't have any further questions on 1. and 4.
For your answer on my second question, when you said TestStand can read those channel values after the sequence returns, do you mean read those user channel values by using Get Channel Value step in TestStand?
For the third one, I think I already figured out to use a RT Sequence to accomplish what I am trying to do, rather than having to use Stimulus Profile. So I guess I don't need to call a Stimulus Profile in TestStand.
Thanks,
Chuan
04-13-2016 03:02 PM
Chuan,
Yes that's what I meant - the Get Channel Value or Get Multiple Channel Values steps.
We have found that with TestStand and RT Sequences, that combination is powerful enough that Stimulus Profiles begin to feel like a duplicate version of TestStand without many features - that's why it has become a best practice. One thing that comes up occasionally is the need for very complex RT sequences to be made (for example, doing things with many channels at the same time). The answer is to use the API to create those sequences from a script, which makes that much easier.
Thanks,
Andrew
04-13-2016 03:14 PM
Hi Andrew,
Thanks a lot. That really clears my mind. Hopefully supporting more return variables directly from RT-Sequence to TestStand can be developed soon. It would be really helpful.
Thanks,
Chuan
04-13-2016 04:35 PM
Hi HandyAndy,
I have Testand 2014 and Veristand 2014. Clearly I have installed the Custom Steps using TS2014VS2014. However, I could not find any of the familiar Custom Steps pallets in Teststand. Do you know why that is?
Best regards,
TJ
04-13-2016 04:39 PM
" The answer is to use the API to create those sequences from a script, which makes that much easier."
Except for that small problem where you can't set the Step Properties programmatically, HINT HINT.
04-25-2016 04:44 PM
Hi Andy,
I have four different projects and I want to run the same test on all of these projects. I am using a global variable and a message pop-up to select the right project file. Unfortunately the Initialize Veristand step does not evaluate the global variable pointing to the project file and as a result, the step does not execute properly. Do you know any workaround for this?
Best Regards,
TJ