LabVIEW Idea Exchange

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

 

the input value of the conditional terminal should  " pass through "

 

                  (like the "case selector" of the "Case Structure")

 

 

                    xxxxx.png

 

                                                         like this,

 

                    yyyyyy.png

Wouldn't it be great if you could list only the recent files opened while in a particular project? I often bounce from one project to another, closing the projects in between.  Thus, I often would like to be able to view only the file recently opened from within a

the project I am working on. Adding a "Recent Files (by project)" to the Getting Started window would be valuable as well.

 

2018-12-07 view recent files by project.png

 

I often use the "Find" text to find where objects are set or where values are changed within the code.  Usually when debugging or implementing new code.  Often, I search the same text to lookup all the VI's or areas within VIs that has been affected by a change.  

 

It would be great to have a pull down to select from a list of recent text entries instead of having to type the word over again.  This avoids any typing errors due to typing too fast, dyslexia, old age or plain old lazyness.

 

This feature already exists in CVI.  Why not have it in LabVIEW?

 

 

The vast majority of times I place a property node onto a block diagram it is to write to the property.  Having the default direction of property nodes being "write" would save much time having to change them from their default "read" direction.

It would be nice to be able to change the tab behavior "Skip this control when tabbing" when setting the tab order for the front panel.

 

TabOrder

 

Regards

/Thomas

I just want to have a layer manager additionally to set a frontpanel element to a specified layer. Using Ctrl+J or Ctrl+K (Ctrl+Shift+J, Ctrl+Shift+K) is only relative to other frontpanel elements.

So if i move a group of elements between other (locked) elements i couldn't define which layer i want to use.

I also would like to have a property for layer level (property node and item in the property dialog).

I like how in the Web UI Builder you can easily access the properties of a control and would like to see this in LabVIEW.

 

web ui builder.JPG

So, i just found a bit of code with a parallell loop, containing a non reentrant vi, making it moot. I guess we've all been there, and those things can be hard to spot.

 

Suggestion: Mark reentrancy with an automatic small corner icon similar type def, e.g. in different colors depending on if it's Shared or preallocated.

Reentrancy.png

Hi all,

 

After some issues spending 1 week to get HTTP embedded server working in LV for a single application, I have some remarks that might trigger some need to a more flexible, simple and open HTTP configuration. The current implementation of a HTTP server is quite limited and outdated to my opinion.

First thing is the NI Web Server. This is a nice feature, however, NI recommends using it rather then the outdated Application Web Server but the problem is that this thing is only a single server running on a single port (for every application executable). Good enough for a single web server on a host using a web browser but how about implementing a LV HTTP server for each application (e.g. RPC server)? To my knowledge, every other programming language (e.g. Python, C++, ...) has a core implementation for this.

I have spent a lot of time to see what the best solution is for implementing a HTTP server belonging to a single application executable in LV. This executable is typically a application GUI or a backend service in our projects and we have a lot of them. Every application needs its own RPC server (running on a different port) and hence running its own RPC methods and I ended up implementing a Web Service using a LV Application Web Server, I can't see other ways at this moment using core LV functionality without the need for additional packages to install.

I also miss the enabling and disabling of the HTTP server during runtime. As in our project applications, we also have other transport layers for implementing RPC, such as zeroMQ (thanks to Martijn Jasperse's library on VIPM) and TCP (native built-in to LV). I would like to run only one of these transport services by configuration but here is a second problem here, once the application is running, the HTTP Web Service automatically registers and there is no controlled way for disabling it during runtime, which gives me headaches since I have to change the port number as another transport layer cannot use the same port as the HTTP server. One might say to built another application (actor based) exe and implement the Web Service from there in a different actor but this is a pain in the *** to have 2 exe's for each single application. Why can't the HTTP Web Service not switched OFF and ON again, both in development and runtime? I found a property node to disable the server but it apparently doesn't work (seems related to the native panel web server).

One of the major disadvantages that I also encountered is the HTTP methods that are programmed in a single VI and there is no way to pass data to these method VI's (like using actor framework or even classes in general). It seems we have to use FGV's (Functional Global Variables) to share data between my main application actor and these HTTP method VI's itself. Even then, the HTTP Service Request refnum is only valid in the HTTP method VI itself, once it finished executing, the refnum is flushed and not valid anymore, so no way to pass this refnum using actor framework messages to my application actors. That's quite frustrating since I have to use notifiers within the HTTP method VI's instead as a plan B backup solution signifying that the method VI can proceed and finish its execution once it Wait on Notifier function is complete (since I want to send an answer from my application actors, not from the HTTP method itself)!

Another issue I observed is that I can't "Start" the HTTP Web Service from the right-click menu in the project explorer, it simply crashes with some dubious error that the 'system is currently in an invalid state for the current message'. What does this mean, no clue from NI help docs?

 

Arrowin_0-1715670098941.png

 

I can only right-click and select "Start (Debug Server)" to make it work (but on the debug port 8001 by default). All other options just fail, the same for "Publish", it simply doesn't work in my LV2020 SP1 (32-bit) version and I have no clue why as there is not a single error message at all!

Also, why must we use MS Silverlight to control application webservers from LV? Silverlight is deprecated and I ended up using MS Edge in "Internet Explorer" mode to get the config page working (after spending another two hours to find out). Even then, some config panes just show up with error dialogs and no way to see active services being registered by the application HTTP web server. In the end I just used TCP View to see active services running. It is always frustrating to use third party apps to do simple things.

 

As you might notice from this message, I suffered a lot of days to figure out how to implement HTTP in a simple decent way using LV's core HTTP functionality. I wonder if this will be better using LV 2024 Q1?
If anyone has ideas on how to properly configure multiple application HTTP servers for each application on different ports while controlling itself, please share it with me. I am open to any idea's and wonder if there are other solutions for HTTP implementation (not using 3rd party packages). To my opinion, HTTP should be easy and open to configure properly in LV without a lot of current non-working Web Server issues.
Please note that I tried to reinstall the NI Web Server and other web service related stuff using NI package manager but no avail.

 

Best Regards,

Davy Anthonissen

It's append all the time that I right click on a VI when the VI is running and I need to find all instances but the option is not there. That could be very useful to debug the code. 

 

 

AddFindAllInstances.png

 

An other option that could be very usful is the posibility of opening the VI Properties when the VI is in run mode. 

 

AddFindAllInstancesViProperties.png

It would be nice to have a conditional tunnel that can be extend with more tunnel.

In this example, each one has it's own output as 1D-array and only one boolean trigger.

 

 

Multi Conditional Tunnel.png

Is anyone at NI paying attention to this thread?  https://forums.ni.com/t5/LabVIEW/Extremely-small-cursors-on-both-the-front-panel-and-the-block/m-p/3748065#M1055219

 

It is a very serious problem and it needs a solution fast!

Wouldn't it be great if you could change the size (and other properties) of your cursor, as you can outside of LabVIEW? Let's bump this idea and see it in a future release of LabVIEW! 

 

size.png

 

 

Dear All,

I wish adding Last modified date and time in Getting Started window  in recent list will be helpful for the developer.

 

Project Files.png

Hello, 

 

Lately I used Visual Studio Code to edit Mark down files and other text files. One feature that I use is the GIT integration to VS Code. For text files the diff is integrated to VS Code and it's very useful to take decision on which files to commit or not.

 

It could be nice to have the same type of plugin into VS Code to diff LabVIEW VIs. 

 

Thank you

 

Dany

There is a method how to call a .exe with Parameters over the  ( http://digital.ni.com/public.nsf/allkb/17C3AD70493CE0208625666A00763364?OpenDocument)

But there seems to be no Way to give a Value to Return to the cmd as ReturnValue.

In C this would be expressed instead of

void main(void)

as 

int main (char *Args[])

{

return = x; // returns X as return value back to cmd

}

or similar.

 

The only way to do this now is to write a C DLL wrapper around the Exe and call this one to get a custom Return value. This is not very comfortable when you choose LabVIEW in order not to have to write in C.

Instead this should be included in the Build Specs just like with the Arguments. The Datatype and Data to be returned should be specified via Property nodes, and the Value should be passed back up to the CMD when finished.

BuildSpec.png

This is handy when using Batch scripts.

Retina displays on macs are really nice to work with, the details quality is a real plus, it would be nice if LabVIEW could take advantage of that, for now LabVIEW look really blurry & ugly on a retina display.

 

See the difference between LabVIEW and GitHub :

LV & git - no zoom

 

Zoom on LV :

zoom on LV

 

Zoom on GitHub :

zoom on github

The Duplicate Frame method of the DisableStructure class in scripting currently returns error 1072 ("This property or method is not yet implemented"):

 

dupframe.png

 

If we could programmatically duplicate frames in Diagram Disable Structures or Conditional Disable Structures, Quick Drop and other G-based editor features could benefit.

When we try to copy and paste a element in the cluster constant its not replacing its added as the new element.but it working well in the control and indicator

 

The figure explains the problem

Replace elements in cluster constant.png