NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

StepProperty Loader And Subsequences

Solved!
Go to solution

Hi

 

Usually we load our Test-Limits and -Parameters (inBuf) from an SQL-Server with Database followed by a Property Loader Step. Because we have some PC's with a bad network connection we want to Load the limits from a local Textfile. Everything works fine but the StepProperty Loader generates a Runtime Error when in the Limit-Text-File is a Stepname which does not exist in the Main-Sequence. With the old concept (DatabaseSteps) the Property Loader ignored that and showed the state done. With the new concept Loading from a TextFile the PropertyLoader shows the state Error(,which I can Ignore but the user sees a red step). Is there a way to configure the Propery Loader to ignore Stepnames which do not exist in the Sequence? (these stepnames  usually exist in a subsequence)

 

I attached MySeq-File and the TextLimitFile.

 

(We use TestStand 4.2.1)

 

Thank you for your help

0 Kudos
Message 1 of 5
(4,600 Views)

You can use Start and End Data marker to load the properties without having any error.

 

Create a group for each sequence in the file. Each group in the file will contain data for the steps in the corresponding sequence. Configure property loader to use Start and End data marker. This way, property loader will load properties only for the existing step and there will be no error.

 

The following link briefly specify about the Start and End Data marker

http://zone.ni.com/reference/en-XX/help/370052M-01/tsref/infotopics/db_import_export_prop_source_des...

 

You can also look at Property Loader example shipped with TestStand to understand  how to use Start and End Data marker.

 

- Shashidhar

 

 

0 Kudos
Message 2 of 5
(4,560 Views)

Hi Shashidhar,

 

Thank you for your answer. The problem is that my textfile is an export from our SQL-Server-Database. We have only a set of stepnames with corresponding limits and parameters and of course the name of the Main-Sequence-File. We have no information in the database in which subsequence the steps occures. As consequence I can not automatically build the
correct groups for the subsequences.

 

As I noticed in the first Mail the Property-Loader in the 'Database-Mode' could handle that. But for certain PC's we need this solution with the limit-textfile.

 

Regards

Paul

0 Kudos
Message 3 of 5
(4,531 Views)
Solution
Accepted by topic author Paul_Buehlmann

Hey Paul,

 

I've been looking into this issue and I have seen the behavior you are referring to. If you load the limits from a database, they load with no errors even if the sequence does not contain every step from the database. However, if you load the limits from a file, a runtime error will occur if the sequence does not contain all of the steps from the file.

 

We are currently investigating this to determine how best to resolve the issue for the long-term, but I wanted to show you a workaround we came up with that I think would let you use the Property Loader in the way you want to. 

 

If you set the Property Loader step to "Ignore Run-Time Errors", the error dialog will not appear. This allows the sequence to execute, but as you mentioned, the Property Loader step will display a red "Error" step status. To change that, we can use a custom Post-Action on the Property Loader step. See the following screenshot:

 

PropertyLoaderWorkaround.PNG

 

This custom condition sets the step to "Passed" as long there was either no error or the error code was -18 (which is the error we see when not all of the steps are in the sequence file). If any other errors occur, the sequence terminates.

 

I hope this workaround will help you with your current application, but if you have any questions or concerns about it, please let me know.

0 Kudos
Message 4 of 5
(4,381 Views)

Hey Daniel,

 

Thank you for your workaround. I only had to change the post expression a little bit, because if I set the Ignore Runtime Error the 'Step.Result.Error.Occurred' is always FALSE, only the Error-Code is set correctly

 

(Step.Result.Error.Code == -18 || Step.Result.Error.Code > -1) ? (Step.Result.Status = "Done",True):(False)

 

Thank you again and greetings from Switzerland

 

Paul Buehlmann

0 Kudos
Message 5 of 5
(4,371 Views)