LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
smmarlow

Expand Refnum Palette to include Synchronization, Event, DVR reference primitives

Status: New

There is a long standing omission in the refnum palette of the synchronization and event refnums primitives. The new and popular DVR ref should also be added.  My example here shows these oft used reference controls at the top of the palette, where I think they should be. While I don't have the rendezvous in my example, it should probably be added as well, even though I don't personally use it that often. In summary, we shouldn't have to do the "create control>cut>paste" shuffle to get the notifier/queue/semaphore/rendezvous/event/data value references.  Sorry if this is already posted.  I searched on refnum palette and didn't see it.

 

 

refnums.png

10 Comments
tst
Knight of NI Knight of NI
Knight of NI

The main difference between these refs and the ones already on the palette (except, to some degree, the VI and control refs) is that these are typed. You can drop them, but they won't have any meaning until you drag a control into them, which I'm not sure is much shorter than creating the control from the diagram.


___________________
Try to take over the world!
smmarlow
Member

@tst.  You're right, they are typed.  So? The datalog ref is typed and it is on the palette.  I think it is bad form that these frequently used primitives are only available through a cut-and-paste operation. I like to lay out my data types first.  For example if I created a class, and I want to add a queue to the data type, what if I don't have any VI's open?  I can't create one of these refs from the class data editior because it doesn't have a diagram.  I have to: create a new VI or open an exitsing one, go to the sync palette, drop an obtain queue into my diagram, right-click, select create control, double-click it, copy, go to my class editor fp, paste.  How does that in any way resemble selecting the ref from the palette? 

smmarlow
Member

@tst.  I should also add that the VI server refs (control, vi) are often typed as well.

tst
Knight of NI Knight of NI
Knight of NI

Fair enough. I'm convinced.


___________________
Try to take over the world!
James_McN
Active Participant

I can't believe this idea has been here so long. This drives me mad! Unless there is a shortcut I'm missing I have to keep creating DVRs on the diagram and then creating controls to get them on my subVI interfaces.

James Mc
========
CLA and cRIO Fanatic
My writings on LabVIEW Development are at devs.wiresmithtech.com
AristosQueue (NI)
NI Employee (retired)

Hm... I hadn't seen this idea before. I must've been on vacation or something back in 2011. 

 

tl;dr:

There used to be much greater reluctance to load the palettes up with unneeded items. That reluctance has decreased as many users have moved toward QuickDrop, so maybe it is worth discussing this again.

 

Longer discussion:

 

smmarlow wrote:

 

> You're right, they are typed.  So?

 

We deliberately left these out of the palettes, for the reasons explained by tst -- users had to set the type anyway, and building it from a terminal did a better job of making sure that the right types were used than users building them by hand. Datalogs were already in the palettes and we observed a lot of frustration from people not getting the refnum type exactly right.

 

Of course the counter argument is that users have to fill in types for arrays and clusters and that seems to work just fine. Why was it fine for arrays and clusters but not datalogs? No idea. That was just what we* observed when we put the feature in front of customers. Since these were front panel elements that were used almost exclusively on subVIs and most people build subVI conpanes by creating a bit of code on their caller (like dropping a structure and wiring to its borders) and then doing "create subVI from selection", we figured we'd go with leaving them out of the palettes.

 

* slight disclaimer: I say "we", but I mean "they"... the queues/notifiers feature was my first feature for LV and I had a lot of guidance from senior staff on that project, and I obviously didn't have previous observations of my own to draw upon. Yeah, this is me shirking some responsibility for this particular decision.

 

James_McN wrote:

> I can't believe this idea has been here so long

 

Over the years, we've had very few people ask for a change. It just hasn't been a priority to change. You of course are free to add them to your palettes ... it is easy enough to create some ctls that have these types and put them in.

 

I'll pass this over to some of the rest of the team and see whether folks think this should change.

alanturing
Member

Hello AristosQueue,

 

for what it matters, I share smmarlow view that "I like to lay out my data types first." Also I am totally in favour of your own argument "users have to fill in types for arrays and clusters and that seems to work just fine.".

 

I have LV2015 and in fact, when designing a typedef, or a class, containing a DVR I just miss the quick method to do it.

 

Usually, I do this:

 

1) Select another DVR refnum in the cluster

2) Copy it with keyboard Ctrl+C

3) Past it with keyboard Ctrl+V

4) Select the object from one of the objects library of mine and drag and drop it onto the new DVR reference

5) Move the correctly typed DVR refnum in the cluster

 

Note that if the untyped version of the DVR reference were in the palette I would just do:

 

1) Select the untyped DVR refnum from the palette "Refnum" and Drag and drop it in the right place in the typedef or class cluster

2) Select the object from one of the objects library of mine and drag and drop it onto the new DVR reference

 

However, if the typedef or object does not have already a DVR then it is a nightmare:

 

1) I have to open a new VI (no create DVR reference menu appears if I drop the object in the typedef or class cluster)

2) Drag and drop the object of which I want to create a reference

3) Drag and Drop "New Data Value Reference" block from "Application->Memory Control" palette

4) Connect to the object

5) Right-click on the output connector to select "Create Control"

6) Change to panel view

7) Select and copy the typed DVR with Ctrl+C

😎 select the original typedef or class cluster and paste the new DVR there with Ctrl+V

9) Close without saving the supporting VI opened in step 1)

 

This sounds really absurd. There must be a faster way and probably it's my fault not to know it.

 

Anyhow, thank you for the info about customization of palettes. I will certainly look around to find how to do it and add the DVR reference control. For the future, I think if you add those refnums in the default palette, you will not receive many complains from the users who know what they are...

 

Sincerely,

 

 

smmarlow
Member

Wow.  I can't believe someone is commenting on this seven years later.   This thing is still here?  It hasn't been killed off yet?  It's like the Walking Dead or something.

EthanStern
Member

@smmarlow, it will be here until NI implements it 🤞

smmarlow
Member

Ten years later and back from the dead again, I see.  👻.  The idea that just won't die.