LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why does ExpressVI not work when associated subVI does

I'm old to C but new to Labview and am really struggling to get my mind around some concepts. My current problem is that I created an Express VI for digital IO control of a valve, but this ExpressVI does not work at all in the application. The most puzzling thing is that on the same block diagram the associated subVI works exactly as it should (both are from the same User defined paletteMenu). I really do want to use the expressVI because the application is for use by operators with no programming experience having to configure any number of inter-acting valves as they need them (no external loops or connections, etc).

 

Any help would be greatly appreciated!

Piet

0 Kudos
Message 1 of 4
(2,218 Views)

Hi Piet,

 

don't you think we could help much better when we would actually see your code?

 

You neither

- say what ExpressVI you used

- say what kind of errors you encountered (apart from "does not work at all")

- say what you understand under "associated subVI"

- say why you have to use ExpressVIs, the operator will never see the block diagram so this "argument" is irrelevant

 

And there's a difference between using an ExpressVI and creating one!

 

Please post code!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 4
(2,204 Views)

Hi GerdW

 

I've solved my problem in the meantime (I think), but thanks very much for your comments as I'm sure my next post will be more comprehensible outside my own head! My understanding of Labview terminology is clearly on a par with my understanding of Labview itself.

- the ExpressVI I used, is the one I'm creating myself

- does not work at all, means that when I start the vi in which I'm testing it, nothing happens

- when I follow the link from the Functions pallette: User libraries/Express User libraries/paletteMenu I get to a palette with two components on it, in my case subValveControl and ValveControl, these being the stuff I just created. In my post I called subValveControl the associated subVI.

- I want to use ExpressVIs to allow the operator to create his/her own application without having to worry about anything more complicated than completing the valve configuration dialog. There will also be a pump ExpressVI, and all of these can be configured to start independantly or be triggered by any other valve/pump or switched manually.

- I have certainly over the past few days realized the difference between creating and using an ExpressVI. My other option is to use C++Builder, which I still may do if the frustration gets too high.

- I would have loved to post my code, but could not see how to do it (this may be a blessing as I'm sure more proficient Labview programmers might hurt themselves laughing). If you're interested, let me know how, and I'll do it anyway.

 

For the record, I believe it had something to do with a DAQmx Physical Channel not being populated in the express version (notwithstanding the fact that I selected a channel in the configuration dialog), whilst I wired one to the subVI version.The first step in the problem VI was to loop until a channel was selected, but I would have thought that by then the configured channel would already be in place? Never mind.

 

Thanks again

Piet

 

 

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

Hi Piet,

 

"I would have loved to post my code, but could not see how to do it"

 

When you write a message you will find below the "POST" button at first a field to add tags and then a hyperlink to add an attachment...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 4
(2,173 Views)