When placing a diagram disable structure, the 'enabled' side of the structure starts blank, and the wirethroughs are replaced with default values. I have never wanted this behavior. Every time, I want it to:
1) duplicate the disabled side to the enabled side
2) select everything in the enabled side except for the wires.
3) execute the 'remove' function I normally get by 'ctrl-space, ctrl-r' (quick drop, remove)
I misunderstood ouadji's post here, but I liked my interpretation of it. I didn't find it on the Exchange so...
Make it possible to copy the VI properties from one VI to another.
User right-clicks on the VI in question, selects "Copy VI Properties", then right-clicks on the new VI and selects "Paste VI Properties". BAM! All (or almost all - to be discussed) properties are copied to the new VI.
Similar to JMP's Copy Column Properties:
What properties would be copied over?
Initally, I thought EVERYTHING! But then my fit of insanity passed and I realized that some items should not be copied.
The Big Two That Shouldn't Be Copied (that's like, my opinon, man...):
Everything else is up for debate. So go, debate away you master debators!
This an extension to the idea which I have submitted.
I had difficulty when accessing the control names on the front panel have more number of controls and also when we have same control names in the different pages of Tab Control.
It would be good if they can be grouped by Tab Page under the Event Sources in the Event Structure as shown below. This is similar to what the LabVIEW does when displaying the Cluster Variables in the Event Sources.
It will be helpful it the idea can be extended where ever accessing the controls/Indicators from the Tab Control Pages.
In the block diagram, it would be helpful if LabVIEW can display the full link or name of tab page when accessing the local variables . This is very useful if we have multiple controls with same variable names on different tab pages.
I am not sure if there is any idea submitted on this, I could see idea which I had thought of adding.
I do not understand why the size of the Font in the LabView Blocks cannot be adjusted. If it is something inherent in the design of LabView that would seem to be a serious Design Flaw. I have too much eye strain trying to work with Lab View as it is. Please provide size adjustment for the Blocks and the Font in the blocks.
I have quite a difficult time using LabView because the Blocks and the Text in the blocks are so small that I cannot always dechiper the text. It is my understanding that many Users have the same complaint. If it is not possible to allow a resize of the text in the blocks how about just making the default text size a little bit larger. Say if we were at a 9 point Font make the default 11.
With so many Users complaing about this, I would think the LabView developers should have addressed this by now.
Here we consider a global cluster (first use case) or a function that outputs a cluster and is viewed as icon (second use case).
NOW : GLOBAL VARIABLES POINTING AT TOP LEVEL GLOBAL CONTROLS ONLY
In order to access one item within this global cluster, I have to put on my diagram a global variable pointing to the cluster, and use the "unbundle" function to extract the desired element. Right clicking on the global variable only allows to browse top level controls contained in the global VI (can not directly point at cluster components).
BETTER : GLOBAL VARIABLES THAT CAN IMPLICITELY UNBUNDLE ANY GIVEN GLOBAL CLUSTER COMPONENT
First you would put on your diagram the global variable, pointing to the cluster. Then right click on it and choose in a tree-form menu (alike the menu to choose among properties/methods of an object) that allows to select not only top level controls, but also controls contained within clusters. The global variable would then point directly at the cluster compponent with a name like "Cluster.Component".
Using unbundle function is cumbersome and can be nicely avoided in this situation.
OTHER USE CASE : ICON VIEW VI THAT CAN IMPLICITELY UNBUNDLE ANY GIVEN OUTPUT CLUSTER COMPONENT
For VIs that output clusters (e.g. when the number of outputs is big), the same trick could make it easier to reach specific output cluster contents without the need for an unbundle_by_name operation, at least when the function is viewed as icon.
Sorry, not time for artist views ;-)
I've been working on a project for the last few months using the Actor Framework, very happy with it and would definitely recommend it to a friend. I noticed the accessor methods for the "Caller Enqueuer" and "Self Enqueuer" have a class input but no class output. This results in branching the class wire in most of the calls to these methods which can get a little bit ugly and I also believe results in an additional copy of the class being made in memory. I appologize in advance if there is a good reason for these methods being implemented the way they are, or if this has already been asked.
Please let me know if something like this exists, but I can't seem to find anything.
What I want is a tool to automate some of my subVI building and implementation. There are a few repetitive things I do during development that would be optimized if I was able to build a custom macro to complete these things with some simple customizing inputs.
Here is my scenario:
I have API for each module in my application. Each API VI passes an "Action" enum along with varient data. The "Action" enum is a type-def and the API uses the module's queue reference to pass the action and data to the main module VI.
Every time I want to create a new API VI for a module I have to complete the following steps:
Open a previous made API VI (or template API VI if I want to make one)
Save As my new API (i.e. ReadData.vi)
Open "Action" type-def enum
Edit Items of enum
Add "ReadData" option to enum
Close "Action" type-def
Change Action in API to ReadData
Change Icon in API to match
Save and Close
The only changing variables in my situation are:
Which module for which to create the API
Action name for th enum
This seems like the ideal application for a macro similar to an excel macro or other languages.
Thanks for reading!
When defining a test case in a unit test you often need to import the connector pane or import control values.
This can take several seconds but there is no sort of indication of when the operation is running or complete. It would be good to at least have a busy icon for the duration if not some sort of progress bar.
Naturally, the first thing you want to do when a unit fails is go to the test definition to understand why it has failed.
I propose that you should be able to double-click the test name or even better the failed test case to launch the .lvtest definition directly from the results window.
The Unit Test Framwork provides some useful statistics on code coverage and project coverage of tests but these mean that it is much slower than other frameworks.
In particular the project coverage causes a very long results load time (>5mins AFTER test completion) on a RT target as it appears to load (and possibly compile) the VIs for the target.
It would be great to have an option to disable these high levels of reporting for day to day tests to speed up development.
If you've ever tried to use the LV Web Service > Session VIs for sessios, authentication, user management, etc., then you'll quickly notice that they're lacking an important feature: the ability to detect when a user session times out (expires).
I can think of two important use cases as of why you'd care:
(1) The user/client is viewing sensitive information (served to him by a LV web service), and then decided to walk away from his computer as we do sometimes. Any Joe walking by might then get a glimpse of something he shouldn't.
(2) For logging purposes. It might just be nice to know when the user logged in and when the user logged out for your IT records.
With a securely built web service, you could detect the user isn't there anymore, and direct the web client (Chrome, FF, IE, etc.) to redirect the page and destroy the session.
There's a sister idea that goes along with this, but I don't think I'll post in a separate thread unless needed. So, another way to detect session timeout events would be to get the session ID cookie (from Create Session VI), store each cookie in memory somewhere, and essentially poll them in a background loop for session information (ie session still exists?).
Ho hum, maybe I'm the only one building web applications of this type, but it sure would be a helpful feature in my opinion.
Currently, if for some reason you wish to move e.g. the x-axis of a graph to run along the top of the graph display, you have to do this at edit-time by right-clicking the (x-)axis and selecting "Swap Sides". I have not found any property or invoke node to do this at run-time.
Instead, I have to duplicate a scale (at edit time), move one using "Swap sides", then in the program I need to programamtically track and control which one is visible at any given time. Since the graph area properly resizes/moves as the scale(s) move in and out of visibility, I see no reason for why the "swap sides" functionality can't be a boolean property accessible at run-time? (But then again, there are a lot of things I don't see, especially on the back-end of the LabVIEW environment...)
As a side note, it seems like you can't even swap sides at edit times for a chart.
This idea is related to this idea:
I like to compare two build specifications of two different projects.
To do this it would be very helpful, that the build specification dialog box is not modal and that i can open each build spezification of each project at the same time. Resizeable would be also nice.