LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Two different tasks in one application file

I would like to do 2 tasks in one application.

 

1-  when RUN button is pressed 

  • and then say  a TEST  button is pressed execute first part of code or sequence structure (once in whole test , kind of finding zero at the start only) , after finish go to second part of seq struct where 6 different serial writes or modes are present 
  • if TEST is not pressed --> do not go to next code or sequence structure , wait for TEST button to be pressed

but in my case first part is working if TEST button is pre-pressed before run .

it does not wait for TEST button if not pre-pressed, and executes second part simultaneously without first part

 

dthanks

0 Kudos
Message 1 of 6
(2,205 Views)

Hi DMic,

 

As best I can tell, it sounds like there is a problem with your code that is causing it to not behave how you want.

Message 2 of 6
(2,185 Views)

Without seeing your code we can only guess...

 

My guess is you are doing it wrong.

 

BTW: My reasoning behind that guess is you said you are using a Sequence Structure. Honestly there is very little reason to ever use a Sequence Structure anymore. They are still part of LabVIEW for backwards compatibility, but no new programs should even need one, except for a few very rare instances.

 

In general when you find yourself reaching for that Sequence Structure...

STOP take a step back and think about it, because there is probably a better way to accomplish your task. 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 3 of 6
(2,144 Views)

Your description is just screaming "State Machine".


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 6
(2,091 Views)

Although some of the responses so far have amusingly pointed out the problems inherent in your description without uploaded code, I'm going to guess that you have a button that is read at the start of the VI, and you instead want to only read it when it changes.

 

You might find some use for an Event Structure here. However, suggesting where to put it (apart from "around the TEST button") without seeing code is a little tricky.

If you only want to run a test once, and what you're trying to do is just wait for input, then an Event Structure without a While loop might be a simple solution for your problem.

If you want to repeatedly run tests, then I'd say the State Machine architecture/design already mentioned is the best bet.


GCentral
Message 5 of 6
(2,043 Views)

Sigh.  You need to invest some time into learning LabVIEW.  There are Tutorials (see the list on the first page of this Forum), Classes (though possibly few and far between), and LabVIEW Gurus (someone who has some LabVIEW experience, patience with Newbies, and willingness to spend some time with you getting you "up to speed").  There are also a few books on LabVIEW, some written fairly recently.

 

Having tried my hand at a dozen or so Programming Languages (including PostScript -- you can do some interesting coding with PostScript!), I find LabVIEW easier to learn and easier to use than most of the other programming paradigms I've encountered.  But you do need to learn some basics (which is why I'm making this recommendation ...).

 

Bob Schor

Message 6 of 6
(2,011 Views)