From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"Start Asynchronous Call" as it should be

I've never had any issue with Tools >> Advanced >> Edit Palette Set in adding XNodes.  But this feels clumsy.

 

Before VIPM supported XNodes naively there were two options that were both hacky.  First was you could make a normal VI with nothing but your XNode on it, then in VIPM configure that VI to be inlined (place contents) which would place the XNode.  Another solution was to have a Post-Install VI as part of the package which would replace a placeholder VI on the palette, with the XNode.  This also worked and allowed for other XNode methods like Copy to be invoked properly where dropping the VI contents wouldn't.

 

VIPM as of the last year or so added VIM and XNode support and I haven't had any issue just adding it there.  The icon will be the one with the .xnode file but obviously the node when dropped may look different depending on how you have it configured to be drawn.

 

What issues have you had in the past?

0 Kudos
Message 11 of 52
(925 Views)

@Hooovahh wrote:

I've never had any issue with Tools >> Advanced >> Edit Palette Set in adding XNodes.  But this feels clumsy.

 

Before VIPM supported XNodes naively there were two options that were both hacky.  First was you could make a normal VI with nothing but your XNode on it, then in VIPM configure that VI to be inlined (place contents) which would place the XNode.  Another solution was to have a Post-Install VI as part of the package which would replace a placeholder VI on the palette, with the XNode.  This also worked and allowed for other XNode methods like Copy to be invoked properly where dropping the VI contents wouldn't.

 

VIPM as of the last year or so added VIM and XNode support and I haven't had any issue just adding it there.  The icon will be the one with the .xnode file but obviously the node when dropped may look different depending on how you have it configured to be drawn.

 

What issues have you had in the past?


When using "Tools >> Advanced >> Edit Palette Set ..." with some XNodes, it just won't put them on the palette.  To work around it, I edit the XNode with a text editor, commenting out the help.  Then I can get it on the palette.  Afterward, I restore the help.

The attached file does this to me.

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 12 of 52
(920 Views)

@Gregory wrote:

That looks awesome! I'm on LV 2016 so I couldn't open it, but just out of curiosity: could you use option 0x40 to launch clones?


I agree with Gregory -- as often as not, the VIs that I "launch" are Asynchronous Clones, so I add 0x40 to the 0x80 (or 0x100) option.  I usually wrap my "Create and Launch Clone" as a stand-alone sub-VI, but having a little "functional" (like an X-Node, which I still haven't mastered) do this is magnificent.

 

Bob Schor

0 Kudos
Message 13 of 52
(912 Views)

@paul_cardinale

 

Are you open to a discussion with me about allowing NI to just ship this code?  Either as an example or as a palette add/replacement?

 

eric.reffett@ni.com

 

Eric Reffett | Director, Product Management | 1.512.683.8165 | ni.com
0 Kudos
Message 14 of 52
(912 Views)

@EricR wrote:

 

Are you open to a discussion with me about allowing NI to just ship this code? 


XNODE! XNODE! XNODE!

 

But seriously there are several useful well written XNodes on NI and LAVA.  NI should consider making it a real official feature.  Even if NXG is the new hotness with no plans (that I'm aware of) to have XNodes in it.

 

As for the palette stuff.  Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should.  Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.

Message 15 of 52
(907 Views)

@Hooovahh wrote:

As for the palette stuff.  Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should.  Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.

You didn't make it "ugly", you made it "invisible".  (I also usually forget to attach ...)  Oops, either I overlooked it, or you "fixed it while I wasn't looking" ...  Never mind ...

 

Bob Schor.

0 Kudos
Message 16 of 52
(901 Views)

@Hooovahh wrote:

@EricR wrote:

 

Are you open to a discussion with me about allowing NI to just ship this code? 


XNODE! XNODE! XNODE!

 

But seriously there are several useful well written XNodes on NI and LAVA.  NI should consider making it a real official feature.  Even if NXG is the new hotness with no plans (that I'm aware of) to have XNodes in it.

 

As for the palette stuff.  Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should.  Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.


What about the the other XNode? You put the icon one there, how about the call and forget/collect one?

 

Sorry for being greedy here, but your VIPM skills are way above mine.

 

mcduff

0 Kudos
Message 17 of 52
(895 Views)

As far as I am concerned, anything that I post is freely available for anyone to use however they see fit.  Go ahead and try to get NI to use it.  Note however that since I've posted it, I've noticed these issues:

  1. The help message refers to "_REFERENCE_OUT_"; it should be "reference out"
  2. The help image doesn't show any of the output terminals (I can't figure out why)
  3. The help image doesn't show any of the subVIs terminals (I can't figure that either)
  4. When placed on a palette, the icon is funky (it's using the icon of the Help.vi, which I should change)
  5. If the subVI is changed, "Asynchronous Call" doesn't auto-update (I think I could fix that if I could figure out how to use "OnRefeeChange"

 

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 18 of 52
(889 Views)

Listen I can make all the packages we want I just think Paul has several worth highlighting and it might make more sense to have a Paul's Favorite XNodes package which has a bunch of these rather than a package for each XNode.  I wouldn't want a palette for each array function for instance.  This is a bit larger of a request but one I can still help out with.  I'd just need a list of XNodes Paul things is ready for public consumption.  I think I can find most he's posted.

 

Also in playing around with this one I did find a few things that you might consider changing in the future.  The "Calll and Collect" mode when right clicking has one too many L's. 

 

In the Support folder there is a "Tamplete.vi" I assume this should be template. 

 

I too would suggest adding some way to enable reentrant calling.  It could be added without any extra input by reading the VI Execution >> Is Reentrant property, and then just automatically OR the option with 0x40 if it is.  The only minor issue is this is adding an extra property node read that normally wouldn't be there.  Maybe a checkbox on right click for Reentrant Run would work. 

 

And lastly I think it would be super slick if you could support dragging and dropping a VI reference to the node and handle the drop.  For VIs that are saved this is easy enough but I'm unsure if you can script the Static VI Reference to a VI in memory and not saved yet.  Still I could see myself using this for non reentrant things today.

Message 19 of 52
(888 Views)

@Bob_Schor wrote:

@Gregory wrote:

That looks awesome! I'm on LV 2016 so I couldn't open it, but just out of curiosity: could you use option 0x40 to launch clones?


I agree with Gregory -- as often as not, the VIs that I "launch" are Asynchronous Clones, so I add 0x40 to the 0x80 (or 0x100) option.  I usually wrap my "Create and Launch Clone" as a stand-alone sub-VI, but having a little "functional" (like an X-Node, which I still haven't mastered) do this is magnificent.

 

Bob Schor


I'm not sure what you want.  This statically references a VI; but there's no such thing as a static reference to a clone.

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 20 of 52
(884 Views)