LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Suppress specific terminals on autowire

Solved!
Go to solution

In particular I would like to suppress auto-wiring of error terminals for instance by making the input terminals Optional. In fact, I'd really like this for any terminals, not just error types. The reason for this odd approach is that I'm introducing youngsters to LV to control our robots - robix.com - and to begin with, the fewer wires the better. They can connect other wires as they get deeper into the subject. So at the start, I'd like them to be able to add subvi's and have just one wire (a cluster in this case) connect automatically so it's all delightfully simple.

 

So, please consider suppressed auto-connect on placement by some means. In particular I suggest that Optional inputs are immune to autoconnect.

 

Evan

0 Kudos
Message 1 of 4
(2,648 Views)
Solution
Accepted by topic author evan1138

For me, it is not totally clear what is your goal?

First of all, you can turn off auto-wiring in LabView, you go to Tools --> Options --> Wiring --> Enable Auto wiring tick box .

 

On the other hand, I do not think it is a good approach to teach young people (how old are they?) LabView in a way, you skip the error handling (and data flow principle maybe since they are closely dependent) part. What happens in case of error? It is not passed over to the next element...

Also, bad programming style becomes a strong habit very quick, you cannot imagine how often I see undergrad students' LabView code full of flat sequence structures, lack of proper error handling, overusing local and global variables, and having massive race conditions...

 

So I think it is not a good idea you try to teach a kind of "simplified" LabView to students, since their learning curve will be badly effected.

Instead, I would imagine you could create a kind of LabView lvlib package for your robots, with some custom made VIs, to teach some robotic and programming principles to young people. In this way you would not abuse LabView, and you could hide those programming parts which you think not relevant to young learners yet (but handling the hidden wires /data maybe inside an ActionEngine). About AEs you can read a nice tutorial here: http://forums.ni.com/t5/LabVIEW/Community-Nugget-4-08-2007-Action-Engines/td-p/503801  Specially important the "wrapping it up" part, where you can learn how to make VIs in a way so you can hide many wires (reference wires, etc...), and at the same time have all the visible wire inputs set as required. But I still would not hide the error wire...

 

Maybe have a look on the NXT-G programming language for NXT robots, this approach could be another way (but of course not at this advanced level...):

http://www.legoengineering.com/program/nxt-g/

 

Or if the students are enough old, you just really should go in the normal way to teach LabView, see the LV Core1 teaching material...

0 Kudos
Message 2 of 4
(2,617 Views)

Teaching someone to program in LabVIEW while ignoring the error wires is a lot like teaching someone how to program in C with the following line:

 

result = var1 +

 

In LabVIEW, the code will execute instead of give an error so the students won't realize they're doing something that isn't a good idea.  Just like you wouldn't want to add a variable to an unknown entity, you don't want to start programming in LabVIEW by ignoring fundamentals.

 

Really, if you're wanting them to learn, you probably want to avoid using auto-wire to begin with.  They'll benefit more from understading what is happening rather than simply watching wires place themselves.  There might be more frustration initially, but this is better in smaller applications than while trying to troubleshoot more complex applications later.

0 Kudos
Message 3 of 4
(2,598 Views)

Thanks for the feedback.

0 Kudos
Message 4 of 4
(2,570 Views)