LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview thinks subvi output is an input.

I want to place the attached the subvi into another vi and wire the lower left connector, which is suppossed to
be a t/f output to the loop test of a while loop.

When I do that I get an error that I am trying to connect an input to an input.

What am I doing wrong here.
0 Kudos
Message 1 of 4
(2,579 Views)
The terminal you are trying to connect to is Control in the subVI. It can only receive data from the calling VI.

If you want to output the value from that button, you'll need to create an indicator and connect that to the terminal on the connector pane.

Ed


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
0 Kudos
Message 2 of 4
(2,568 Views)
As the previous post stated, the boolean on the lower _right_ of the connector pane is a control, which in LabVIEW is an input to the subvi. When you say "t/f output to the loop test of a while loop" what do you mean? It is a the t/f control for the loop that it is in, and pressing it will cause the loop to stop and the sub-vi it is in will return to the higher level calling vi. You really don't need to pass its value out, it is implied by the fact that the sub-vi finishes. If you had some means of data flow control, like error in/out you could just use its return to continue the program (you can anyway, but probably not as controlled). What are you attempting to do?

Putnam Monroe
Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 3 of 4
(2,560 Views)
Some general suggestion on your VI:
  • There is no timing control. You loop executes millions of times/second doing absolutely nothing but writing the same global variables over an over again. You are wasting 100% of the CPU and dragging down every other application running. This is the reason the cursor movements are so sluggish when your program is running. 😞
  • I would suggest using a simple event structure. Now the loop only runs when needed. (Place an indicator in the iteration terminal to compare the two version. Also monitor CPU useage THe difference is like day and night! :)).
  • Unless there is a special situation, it seems like a bad idea to have the ring strings in the ring AND in a completely unrelated diagram constant. This makes code maintenenace difficult because changes need to be made at two different places every time.
  • I strongly suggest to use output connectors on the right and inputs on the left. The only real output is the combined string.

    I would suggest something along the lines of the atttached quick edit (LabVIEW 6.1). Modify as needed. You also need to put the globals back, I cannot test with them in place. I suggest to place the globals outside the while loop so they only get written when the VI finishes. You probably don't want them to update every time the user just dabbles with the controls. 😉
  • Message 4 of 4
    (2,546 Views)