05-11-2022 07:33 AM
Hi,
I've been wondering about a situation and a way around it.
Let's say I have 3 Test Sequences Seq1, Seq2, Seq3 which have similar tests but the Tolerance limits of value and the order in which steps are executed are different.
For Example:
Seq1 has the following test in the given order:
1. TestA
2. TestB
3. TestC
4. TestD
Seq2 has the following test in the given order:
1. TestB
2.TestD
3.TestA
Seq3 may perform only one test:
1.TestC
I was considering usinq Queues and Enqueuing N-elements.
But soon realised it will be troublesome.
Has anyone does this before? or has any idea how to go about the situation?
Regards,
Linus Koli
05-11-2022 09:23 AM
Hi Linus,
@linu95k wrote:
I was considering usinq Queues and Enqueuing N-elements.
But soon realised it will be troublesome.
What's wrong with a QMH (QueuedMessageHandler)?
Why do you think this approach is "troublesome"?
05-11-2022 09:32 AM - edited 05-11-2022 09:33 AM
This screams Queued State Machine...
In fact I have used a QSM for pretty much the same purpose, to allow the end user to select what sequence they wanted to perform each test.
05-11-2022 11:25 AM
We put our test limits in a database. Each limit spec is identified by 4 items:
05-11-2022 12:11 PM
@GerdW wrote:
Hi Linus,
@linu95k wrote:
I was considering usinq Queues and Enqueuing N-elements.
But soon realised it will be troublesome.
What's wrong with a QMH (QueuedMessageHandler)?
Why do you think this approach is "troublesome"?
What was troublesome about it? Perhaps if you showed some code outlining your approach we could help to identify the issue. This is exactly the approach that I would take.
05-11-2022 03:59 PM
@RTSLVU wrote:
This screams Queued State Machine...
Actually it screams Test Stand.
05-11-2022 11:41 PM
I had the same notion, however I am not very good with Test Stand. I know the basics of it however I have never created a complete application with Test Stand. Can anyone please provide me resources on how to use custom UI with Test Stand and how to build an exe using Test Stand.
05-11-2022 11:54 PM
The reason why feel this is troublesome is if at some point the end user wants to change the Order of execution in a pre-code set Sequence. We will again have to make changes to the source code.
Or even to add a new sequence we will have to make changes to the code.
The end result which I am hoping to achieve is to keep Order of execution and Adding new Sequences re-configurable to the end user.
i.e. we could change it by changing a configuration file or something instead of the code.
The Idea was to keep the Steps involved in Test Sequence Files which maybe CSV or INI and Maintain all these files in Folder and Programmatically create, edit or delete these Test Sequence Files.
The problem is matching the String with the Enum on the case structure. And preventing the user from entering invalid values.
Okay there is something I have in mind I'll probably try it and then Post the code maybe.
I believe Test Stand is the correct way to approach his problem however I am not very good with it.
Regards,
Linus Koli
05-12-2022 12:47 AM
All your requirements qualify as the target use case for TestStand. Given you're completely new to TestStand and you need to build custom applications around it, you definitely need a CTA level experienced developer to consult and develop.
TestStand is another universe like LabVIEW on its own, using it is one side and customizing it is on another level. The best path forward would be to reach out to NI Alliance partners in your region to help adopt TestStand. On the other hand, please be advised that TestStand has its own licensing terms and various licenses (Note: you don't create an exe out of TestStand sequence, you run the Sequence with a TS Deployment license - yes, you need a separate license for that https://www.ni.com/en-us/shop/electronic-test-instrumentation/application-software-for-electronic-te...)
05-12-2022 12:56 PM
I like this question! How do we get large user defined test configurations?
There are a lot of ways to go about it and a not of subject matter that could be covered answering how.
MOST of those concerns are addressed in an old Community Nugget Series I presented starting here
and continuing Here