LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Test Indicator Internal Timing XControl

I have a technical problem, XControl appearance VI can not run continuously, other VI seems the same, I need to make a XControl TestIndicator , set the state to RUN, so that the TestIndicator itself timer and display already used time by second, set state to STOP, stop the timer, seems to be unable to realize, request support,Thanks a lots.

0 Kudos
Message 1 of 6
(734 Views)

I attached Test Indicator.rar here.

0 Kudos
Message 2 of 6
(705 Views)

I'm guessing that English is not your first language because I can't understand what you wrote.  I suggest that you find someone who is fluent in English and also understands LabVIEW.  Have that person help you post your questions.

 

Also, I can't  open a .rar file.  Please use .zip.

0 Kudos
Message 3 of 6
(665 Views)

Ok, now I want to make an Xcontrol name is TestIndicator, it has 4 states READY, RUNNING, PASS, FAIL, what I want to do is when the TestIndicator is set to RUNNING, there is an internal timer inside the Xcontrol to start the calculate and display the elapsed time on the front panel of the Xcontrol with the format xxM:xxS, and then continuously update elapsed time until set the status to PASS or FAIL.

0 Kudos
Message 4 of 6
(654 Views)

Attachments have been uploaded, any help is appreciated!

0 Kudos
Message 5 of 6
(651 Views)
Create a typedef for a queue that will be used to send messages for the timing.
Create a new VI that does the timing.  On its connector pane, have the queque.
Change status.ctl to contain:
  • A strictly typed reference to the new timing VI.
  • The typedef'd queue
Change Init.vi to:
  • Obtain a queque.
  • Put its value in the status.
  • Start the timing VI asynchronously, passing the queue to it.
  • Put the value of the strictly typed timing VI reference in the status.
In view.vi:
  • In the "Direction Change" case, send a reference to the elapsed time indicator through the queue to the timing VI.
  • In the "Data Change" case, send stop/start info through the queue to the timing VI.
Add an Uninit.vi.'
In it:
  • Shut down the timing VI.
  • Close the reference to the timing VI.
  • Destroy the queue.
Note: A lot of people on the forum don't have LV 2023, and therefore can't offer much help.  When posting code, it's best to downconvert it a few years.
0 Kudos
Message 6 of 6
(637 Views)