LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Hi Team,

 

Would be Great to add or Delete Input in Array [ Insert Into Array ]. Bit difficult to manage when used for reporting. Rearrange all input nodes if to add or delete a input inbetween.

 

Idea.png

 

 

Many Thanks

Anbu

Hi !

 

Often dealing with old code it's always a pain to install old versions of LabVIEW to get the code compiled the newest LV version.

For example, porting code made in LV 5.0 implies converting first to LV 7, then convert to LV 2009, and finally convert to LV 2013.

You then have to install these version, licences, ...

 

It would be nice to have a service on NI.com website from which we could send a zip archive containing the project to convert.

Then selecting the target LV version, a could service could unzip and compile the code across all versions of LV to have the code matching the requested version.

Why is the property to read the default value a scripting property?

 

If you'd ask me reading the default value should be a normal property...

 

Writing it is scripting, so maybe it should be split up.

I would like the worfkflow to save a new class/library/project to be more like Save As... when creating a copy.  Mainly I would like the option to either use 'Current folder' which puts the class/library in the current directory, or the option I would almost always use, Save which creates a new folder with the class name and puts the class inside.

 

NewClassSaveDialog.png

I really need the concept of "aliases" or "shortcuts" to project items.  Consider this project:

Case 1.PNG

Case 1: maybe the item in blue is where I left off working yesterday,

Case 2: maybe the item in blue is a VI that I have to change when I add a new class somewhere else.

 

Either way, to get to it, I have to

1... Open the target ('RTAC-Culverson')

2... Open the DAQOBJECT folder

3... Open the DAQOBJECT CAN folder

4... Open the DAQMODULE CAN folder

5... Open the DAQMODULE CAN.lvclass

6... Open the ACCESSORS folder

7... Open the MY OUTPUT CAN TASK folder

8... Open the VI that I want.

 

I suggest this:

 

1...  I pop up on this item in the project, and choose CREATE ALIAS.

2... An Alias appears in the project.  Aliases are ALWAYS at the top of the project, without opening any folders.  (maybe limit to 10 aliases)

3... You can't do anything to an alias except OPEN it or REMOVE it.

4... Double clicking (= OPEN) an alias merely opens all folders leading to the targeted item, and highlighting it.

5... You can create an alias to a VI, to a CTL, to a CLASS, to a FOLDER, to a BUILD SPEC, anything in the project.

6... Deleting the original item deletes the alias to it.

 

This seems simple to do, because you don't need a context menu for the alias (if it's a build spec, allow BUILD in the menu, if it's a VI, allow RUN, or OPEN, etc.) Forget all that.  Just OPEN it, or REMOVE it.

 

It's a ref to an item WITHIN the project, so copying a LVPROJ file should copy all the aliases.

 

Whaddya think ?

 which it is still not doing in LabVIEW 2015.

Aren't you tired or seeing Labview, or LABview or LabView online?

 

NI Certifications (CLA, CLD, etc) should be stripped off people engage in miss-spelling LabVIEW.

 

And those who aren't certified should handwrite "LabVIEW stands for Laboratory Virtual Instrumentation Engineering Workbench" 10 thousand times!

.net calls can end up being pretty verbose in LabVIEW, having to pipe between property boxes to get to some nested value, when the call is pretty straightforward when written in a more traditional language. In addition, trying to replicate some .dll functionality seen in c++ is frustrated by how different the calls look. Having the ability to drop into a function block to write .net code would make it much easier to port functionality + debug.

Even if there was a penalty performance wise, it would still be a nice middle ground for getting a prototype off the ground before optimising it for LabVIEW.

Hi All 

 

if NI adds the Fuctional Global Variable (FGV) tempalte in design pateren tempates in hte New window, it is easy to create FGV VI's.

and Helps the programmers, no need to create from the begining of VI.

Even it is usefull for CLD Exam also.Smiley Happy

 

 

FGV Template.jpg

With LabVIEW classes, I appreciate that:

- I can save and load class data to/from disk.

- Backwards compatibility is automatically taken care of with no coding required (in most cases).

 

However....this functionality breaks as soon as you rename a class (which includes moving it into a library).

 

It'd be great if I could rename a class (or add it to a library) and then still load data that was saved with a previous version of that class.  I've been burned by this a few times where legacy data files are unrecoverable after code refactoring....  and it's a tradeoff I'd rather not have to make in the future!

 

(Apologies if this suggestion has already been submitted...but...didn't find it in my search)

Search for Keywords is presently limited to logical "OR" search. It would highly profit from logical "AND" Search.

LabVIEW could highly profit from improved access to examples. I suggest to outsource the NI Example Finder to an advanced web search engine.

We are already familiar with the Ctrl+Scroll to explore the Structures in the Block Diagram.

 

It is a handy feature to explore the Numerous Pages of a structure.

 

And on the Front Panel, we have a similar Primitive which has the ability to have as much pages as required - The Tab Control.

 

In different scenarios, we may end up with numerous pages on our Tab Control and even we may not have the Tabs/Page Labels Display visible in the GUI.

 

In such scenarios, while editing the GUI, we may need to switch between different pages. To switch between pages currently we have only one option with the Right Click->Go To Page->select page process.

 

This is making the whole GUI editing process slower.

 

We also have some workarounds to avoid this Right Click->Go To Page->select page process delay by temporarily making the Page Labels Display visible during the edit time to select which page to be shown.

 

But lets consider the efficiency if we have this Ctrl+Scroll feature for Tab Controls to explore the pages!

 

And it may work only in the Edit mode.

My software is used in microscopy, and the screen brightness can be annoying for people looking into the microscope. Nowadays, all microscopy has a range of dark colour schemes, to suit the user, to either work in complete darkness, or just low-light situations.      

 

I want to be able to do the same, i.e. make custom color schemes.   The system color schemes don't quite satisfy, so I really want to do this programmatically.

 

For most controls, i can nicely change all colors using the property nodes.  But strangely enough, some controls simply don't give the option, even though you can do it manually.  The color options seem to be very inconsistent in this respect...

 

For example, the numeric Knob or Dial are perfect.  You can set the color of the knob, as well as the color of the ticks, the text, etc.   Similar for a slider, where every little detail can be set.

 

But strangely enough, the normal numeric (digital) lacks the option to set the color of increment/decrement button.  However, can set those colors manually.   The menu ring however, doesn't seem to have any way to change the color.

 

That doesn't make senso to me....   Why give the option to set all the colors of some controls, and then not have that option available on other controls?  

 

My request is to make sure that ALL controls have the color properties you need to color them programmatically.  The Knob and Slider are nice examples where it is done very well. 

Although it appears that the 2020 version of the Block Diagram Cleanup Tool (BDCT) does do a better job than its predecessors, I would still say that the BDCT’s results are still less than optimal. Most LabVIEW Idea Exchange posts concerning the BDCT talk about label positioning and alignment.  Here I would like to focus on the issue of horizontal expansion of the block diagram and a holistic view of what LabVIEW features contribute to that effect.

 

Like most programmers, when developing a VI block diagram, I try to keep the diagram no more than one screen wide.  I have learned a few tricks over the years that help manage horizontal expansion, such as resizing an object’s label so that the words appear on multiple lines before running the BDCT. This allows for some compression horizontally and allows for some growth vertically to compensate. Horizontal expansion of the block diagram is certainly expected to some extent because data flow happens left to right, of course; but it would seem logical to incorporate that knowledge into the BDCT algorithm to compensate and find ways to adjust the spacing so that the rearrangement creates more a bit more vertical expansion and less horizontal expansion—while still satisfying usual criteria such as no backwards-running wires.

 

Because data flow is horizontal, to help the BDCT work better, NI may want to think about what visual features—other than left-to-right data flow—contribute to a unnecessarily wide block diagram. I seldom have an issue with a block diagram becoming too tall.  Admittedly, poor programming technique can result in too-wide block diagrams, but let’s look at a few other things. What elements of LabVIEW’s block diagram unnecessarily consume width? Here’s a few that I could think of:

 

  1. Long names in bundle/unbundle cluster objects, property/invoke nodes, Enum/ring constants, local variables, formula nodes, etc. – Most LabVIEW-supported languages are left-to-right horizontal. Long names, especially when using nested clusters, take up horizontal space. I like being able to use long names; it helps the code to be more self-documenting. If those type of objects supported word-wrap, that would help conserve width.
  2. Expression nodes and multi-digit constants – no word-wrap available here either.
  3. Named terminals of timing and event structures – They are what they are, and you cannot remove all of the ones you don’t use, and so they take up space horizontally.
  4. Some native functions – There are some LabVIEW native function icons that are wider than they are tall. Some examples: In-Range/Coerce and Initialize Array.
  5. Shift registers – It has a subtle effect, but shift registers are wider than they are tall. Do they have to be that way?

To fully tackle this issue, I believe you have to look at things holistically and not just as potential improvements that could be made in the BDCT.  Recognize that data flow is left-to-right horizontal and you will have long text names; you can’t really do anything about that. However, there are other things that could be done in LabVIEW feature-wise to help compensate for width-wise block diagram growth.

I would like to be able to target an entire sub-palette for searching, rather than just a single vi.

 

That way, for example, if I want to find every vi that contains any of the Queue functions, I could get them all in a single search, rather than having to search for each vi in that palette.

Since LabVIEW 2021 is announced that will adopt the advantage features of NXG, I expect some thing like:

- In NXG we could dock constants to functions & nodes. hope can also be in LabVIEW 

- In NXG we could also reduce space of block diagram by (Ctrl + mouse click & move up/left) while Down/right is to extend the space. In LabVIEW still couldn't reduce the space. all mouse direction are extending the space.

- provide unplaced terminal, controls and/or indicator pallet, is very use full.

- zoom in/out, I've no Idea why NXG can while LabVIEW can't.

A BD control/indicator/constant can be changed to either other type by contextual menu. For individual objects, Constant as well as Show/Hide are a choice; but for multiple selections, not -- why?

Screenshot from 2015-05-14 00:24:24.png  Screenshot from 2015-05-14 00:25:03.png

 

Note that this is not exactly a duplicate of Every GUI Programmer's Dream... (completed in Labview 2012), rather a part of the implied request which has been left out.

An image explains this best:

 

stripbookmarkname from bookmark text.PNG

Removing the bookmark from the text when it is already displayed as the group name will reduce the level of information noise in the bookmark manager, and make it easier to read the bookmarks.

Knobs and dials require the user to move the mouse in a circular arc when adjusting the value, which isn't very ergonomic or precise. If the user isn't careful, passing the mouse over the center of the knob while adjusting it can cause the value to change rapidly and unexpectedly.

 

knob_vertical.png

 

The idea is to add an option for the knob or dial control to be adjusted by only moving the mouse along a single axis (vertically or horizontally).