LabVIEW Idea Exchange

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

Hi

While working with LabVIEW I would suggest that there are broken arrow that shows that the code is not complete if we left to wire any input or output.

I would suggest that there should be an option in the block diagram that we can select the active region (it could be as to draw box) and LabVIEW should only consider code that is inside the box and outside of the box if any unwired input  or output should be ignored.

 

I hope  I made my idea clear.

 

Thanks

Asif 

Suggest adding features to the Intensity Graph as shown in the posted example code:

 

Intensity Graph - Cursor Slicing - NI Community

 

so that the Intensity Graph natively has the ability to display cursor slices as adjacent graphs.

If you want to animate a loading/waiting animation, you can make a series of pictures. But if you want background free pictures, you can use png. However, the quality of transparent png in LabVIEW is not good. Also in case of using picture ring, you can not make it smaller or bigger as well.

I suggest using graph and plot a circle showing circle points. Then make the graph background transparent.

You can set each point with different color, and change their color in a step/ramp using a loop (to show animation of circulation). You can also set number of points, points shape, size, and position.

Now you can make it as a subVI and use it wherever you want. Just remember to send the reference of the VI graph to the subVI and set the attribute and property of the subVI graph the same as the main graph.

It would be a good idea to leave the Control's appearance to be more flexible for modifications. For example, at the moment we can only modify the size and colors, it would be good to be able to modify the shape of them. This can enhance the experience to customize the Controls of LabVIEW. 

 

It would be a good option to be able to change the shape and color of Controls from within LabVIEW, not having to use third-party software to achieve this. 

The idea of this VI is making a function of remove data repetad in 1D but in 2D array, this function is not added yet in Array panel and I think can be usefull at the moment for operations request a segregations of data in 2D arrays.

 

The function consist in put in the control of the VI the column we want to search and compare the data repeated.

 

Also this VI give you the data was deleted from the 2D array.

to transform existing VI to be integrated into PA flows, the drop-in should be populate all controls and indicators to be used as connector variables. 

The "Call Chain" primitive: 

srlm_1-1656360156440.png

Sometimes I want it to behave exactly as it does today. But sometimes, like when I'm generating error logs and trying to only write down one copy of an error, I'd like it to give me the edit-time name of VIs instead of the run-time name of VIs. That means that reentrant clones would not include the trailing number.

 

I would like there to be an input (bool or enum) to specify the naming of clones in the call chain. 

good day forum

 

propose the above, simply for:

 

- automatically building the web panel by populating the control types on the original referenced VI, adding and styling it with the GWeb control style

- automatically linking the referenced vi's and gviweb's controls

- execution mode: clone per session (default, specified connection limit), & single login session; to prevent race

- if VI reference stopped running, broken, missing or irrecoverable error, return 404

 

to reduce recoding works

 

*cannot find appropriate labels in "additional idea" thread, kindly relocate post to appropriate thread, TQ

It makes no sense to write the channel name every time with TDMS write. You could easily improve write performance and disk utilization if you stored the channel names once and used a smaller alias to them (see example below). There are other work arounds including buffering

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P9reSAC&l=en-US

But the downside of buffering is that the data is stored in memory so if you lost power, you would potentially be missing a large chunk of data. Also, this solution is compatible with the buffering idea in that this would make the files even smaller.

In my example even after just 100 writes, the example using the lookup table is 20% smaller.

We can also get even bigger gains if instead of using hex-ascii strings for the short names, we used an integer.

 

TDMS long name lookup.png

It has been needed for a very long time to have web accessible front panels.  During the development of NXG this problem was solved with the web module.  I am not sure why they stopped development with NXG because was an extremely nice upgrade and was making Labview more future-proof.  NXG was then turned into G web development software.  Personally, I think the web portion should be an addon and native to Labview as eventually, that is where it will need to go anyway.  In the meantime, the only solution we would have is to possibly use G Web Development software as a front end development and regular labview as a backend.  To do this cleanly we would really need the shared variables available in G web development environment.  This would open back up doors that were closed once NXG was not supported anymore and would offer a solution until something native is added to Labview.  In my world, every customer wants and expects web-accessible applications.  I get the response all the time "Your software can do all of this control but isn't accessible from a browser on our LAN - my residential doorbell can even do that".  If I am missing some method to implement this currently (other than SystemLink) please reach out and I appreciate you considering some kind of solution to fill this very large need.

 

PS - I still don't understand why NXG support stopped if anybody knows.  Took a little getting used to but I saw big potential with that development software.   

I really like the option to use indicators (connected to the connector pane) as the output for webservice methods. By default, Labview will serialize it to JSON, but text and xml are also options. It works quite well and it saves a lot of coding writing your own serialisation.
I have some suggestions for the serialize functionality:

 

1. order the JSON output by tabbing order when there are multiple output indicators. This prevents that you end up always clustering all controls into one, just to enforce order.

 

2. it would be nice if an enum could be represented by its string instead of its index.

 

3. support for maps

Quick Drop is very useful, but when it comes to adding other VIs, it's too annoying.
You have to select the VIs you use often from tremendously long pull-down, and the order is completely messed up in Japanese version.
It would be nice to be able to select the desired VI from the list of icon you always use, or search by VI name.

Allow the mechanical action of radio buttons to be switch until released.

 

The way I make arrow buttons now is to put switch until released buttons in a cluster and watch for the value changed event of the cluster. When it changes, I convert the cluster into an boolean array, that array into a number, then feed that number to a case structure. Switch until released radio buttons, "No Selection" being a necessary default, would make that code nicer. The case selector would be an enumeration instead of a number.

Hi,

 

I want to find warnings in an opened VI. For example, a function has moved outside the case or loop structure and is not visible anymore. I call the error list STRG +L and give the show warnings a TRUE. I double click on the specific warning and I get the invisible VI or function highlighted, so I can move it back into the visible area by keys. The problem is, I always have to find the VI in a list of approx. 1000 VIs, which have a warning. It would be great if I would have a search by name function, or I could see the warning/errors of the active VI window. 

I have attached an example picture of what I mean (I use a german version) 

 

Cheers 

RogerG

 

I need "something" that is flexible and not necessarily defined during development... can be expanded or superseded over versions without breaking VIs.

 

currently using map, with main VI setting the keys and values and called VIs/subVIs processes only the keys specified (with default values) within the called VI itself. additional checks are required to prevent illogical or erroneous conversions during execution

 

something simpler/more elegant would be nice... the current ones are too "predefined" or "required to be defined'

 

any ideas?

When a folder is copied that contains (subfolders with links), the folders are not copied OK.

The copy command follows the shortcut/link and tries to copy that target.

 

https://forums.ni.com/t5/LabVIEW/Copy-a-shortcut-to-a-file-using-LabVIEW/td-p/97097?profile.language=en

 

(did not test it in detail yet, but I get a 'error 7' when copying a shortcut pointing to a no longer existing target. If the same behavior also is happening on 'move' or 'delete', following the shortcut may lead to very *unpleasant* suprises...)

So, I've recently transitioned portions of our code to LabView OOP. There really doesn't seem to be a feature which is equivalent to llbs in terms of how we use them, so I'm forced to build and release specific library .llbs for each class which uses dynamic dispatching. 

 

There are numerous annoyances with this, but one of the biggest is the severe reduction in the utility of the Compare Hierarchies functionality. Now, I get a all kinds of VIs which show up as "x", i.e. different, which when I pull them up show no differences at all (I always filter to show only noncosmetic block diagram changes, because who cares about anything else, really). 

 

Also, pretty much every version I get a raft of results where the only change is the path of a library/class dependency. Also, nobody cares. There should be a generation option of exclude VI path changes.

It would be nice to have an option for newly opened FPs should ignore previously opened modal FPs.

 

Edit: Or give an option for floating FPs to skip (ignore) all modal FPs.

 

Dear NI

I would like to have the possibility to add shift registers to case structures, either when used as state machines or true/false cases. There should be two options, namely a shift register that works as a normal shift register, as we know fro while loop/for loop, and then a new type of shift register that's specific for a particular case/state - sort of a LV2 global in disguise as a shift register for one particular case.

 

In a state machine the shift registers are often wired to the outside while loop, why not just use the case structure as the carrier of the **bleep** register. 

keep up the good work.

/soren