NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

A LabVIEW step should be executed for each 1 minute in an executing sequence

Hi,

 

I have an ARINC AIT card connected to NI-PXIe. An ARINC message is transmitted on this card via LabVIEW vi, from TestStand. Wherein an information of current time (PXIe time) also should be transmitted, at a frequency of every minute update in PXIe, irrespective of steps which is being executed in sequence file. 

 

Can this be made in TestStand, wherein we have an LabVIEW step which is being performed at the background when other sequence steps apart from it, is getting executed?

 

Thanks for the help,

DD

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

Not sure if this makes sense from a hardware point of view, but you could create a sequence than you run in a new thread (or new execution) that loops and uses the wait step to wait for an interval of one minute between loops.

 

1) You could make the loop condition check a boolean parameter passed into the sequence by reference, then the main sequence can set the boolean to false when it wants the thread to terminate.

2) Make sure you disable result recording for the sequence so that you don't waste memory storing results for those steps. (check the sequence properties dialog).

 

Hope this helps,

-Doug

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

A co-worker of mine says this is better done from hardware than software. I don't really know the details of how that would be done though. Perhaps someone else can explain. Or perhaps someone on the hardware forums might have a better answer.

 

-Doug

0 Kudos
Message 3 of 5
(4,071 Views)

Generally, the concern with doing this from software is that since Windows is not a deterministic operating system, it will be difficult to attain precise timing (for example, if the step needs to execute exactly every 60,000 milliseconds). If the timing is more of an approximate value, it might be acceptable to trigger this from TestStand. If you do want to explore the hardware-triggered route, I would suggest posting to the forum specific to the hardware you are working with.

 

Hope it helps, and let us know if you have any more questions about it!

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

 

Not sure if this makes sense from a hardware point of view, but you could create a sequence than you run in a new thread (or new execution) that loops and uses the wait step to wait for an interval of one minute between loops.

 

1) You could make the loop condition check a boolean parameter passed into the sequence by reference, then the main sequence can set the boolean to false when it wants the thread to terminate.

2) Make sure you disable result recording for the sequence so that you don't waste memory storing results for those steps. (check the sequence properties dialog).

 

Hope this helps,

-Doug

 

What Doug says make sense as  an option. i hade the same issue where i needed to talk in the background with an oven. I have a Vi that polls data from the oven and can update testand variables.

 

This linkhttps://decibel.ni.com/content/docs/DOC-34743#comment-35308 has a great example on how to run a vi on the background using a new thread. i solved my problem based on this example.

CLAD, CTD
0 Kudos
Message 5 of 5
(4,061 Views)