Hi, it would be nice if one could get the "path" to the functionspalett when hovering the mouspointer over a function.
Even if you pretty much know where to go into the functionspalette, I at least, get stuck everytime, when I want to recreate something similar to the code that I've found, because I cannot find the functions that are used.
I often have to copy paste from an existing code because I cannot find it in the Functionspalett.
See the attached picture. Where do I find the error input terminal? I found the I/O terminal, but that was from the Frontpanel palette.
Have searched for the waveform-terminal for over 15 minutes, still haven't found it..
I received this feedback from a customer but it would be useful if cells in Table Controls/Indicators can be combined in LabVIEW.
This function is very useful in Microsoft Excel to make a header for multiple rows or columns.
NIJ AE Taiki Hoshi
Under Distribute Objects, we have the options for setting the gap between selected objects to 0, or to evenly distribute the selected objects, but wouldn't it be nice to be able to select a few FP objects and specify the gap between them in pixels?
So let's say we want a gap of 6px between some of our objects, we should be able to just select them and type in the gap value in pixels, similar to the behavior of the Resize Objects dialog, where you can type in a value for height and width.
This could also be extended to setting the gap between the objects and the FP window edge.
Haven't had a chance to play with the latest LV version yet, so I'm not sure if this has already been addressed in some form.
When you are generating data from a source and sending it across a TCP connection, it would be useful to be able to get information about when packets are being dropped and resent in the connection. If lots of drops are being detected, a program might be able to slow down the data acquisition or take other action to reduce the amount of information being transmitted to account for the lower bandwidth connection. Currently there is no way to get this information from the TCP primitives.
This idea comes out of the Certified LabVIEW Architect Summit held yesterday and today at NI headquarters in Austin, TX.
I tend to use the Quotient and Remainder for determining whether a number is even or odd. It clutters up the block diagram with the primitive, a constant, and a comparison. How about one (or two) of those nifty little triangles with a number in and a boolean out to indicate if the number is even (or odd)? It seems I need this function more frequently than one would expect, and it would be a simple 'new feature'.
When you create a control/indicator on a front panel and then duplicate it multiple times, LabVIEw automatically increments the name label like this :
If I set the label to "type a", I expect LabVIEW to automatically increment the duplicated controls "type b" instead of "type a 1"
I have been forced to write scripts in Python, a sequential interpreted language.
Usually I read variables from sensors in instruments, through CCL, then call a Python script (that usually calls other Python scripts from a library), then the script process thevariables to set parameters in instruments through CCL.
What I would love to do is the following:
Read the sensor variables through CCL
Input the variables into a Labview diagrammatic program
Call other Python scripts to include as blocks into the diagrammatic program
Upon the processing, generate outputs to set parameters through CCL
But also, from Labview, I would like to "export a Python script that does the same process", just to satisfy the managers here and let them feel sure to have new Python scripts that do the same processes.
I mean to use Labview to generate Python code, as if "compiling" the diagrammatic program to get a "machine code", even when that "machine" code is just a new interpreted Python script.
Just I hate programming in Python, but I must satisfy the managers providing them with new Python scripts to enrich their library.
Please tell me if it is possible to use Labview to make diagrammatic programs and then export the equivalent Python script.
Also tell me if it is possible to import a Python script from a Labview diagrammatic program, including the imports of other Python scripts, that is to include all libraries.
I am really desperate for a solution to this drama.
ALMA Observatory, Chile
What about an option to choose what the default tool is when using the 'Automatic Tool Selection' feature of the tools palate? When your mouse is in the "white space" of the block diagram or front panel, the default action seems to be bulk select (maybe), but it would be nice to have the option to change the white-space behavior to scroll on the block diagram and maybe operate on the front panel or whatever you seem to be using most. Then, when appropriate, the automatic tool selection would pick the appropriate tool.
To reduce the size on the block diagram, a string constant can be reduced so that the size does NOT fit the text. However, this makes reading the value of the constant difficult. To mitigate this situation, the value of the string constant could be included in the context help window.
Bonjour à tous,
Je m'adresse à vous dans la langue de Molière car je ne maitrise pas la langue de Shakespeare, veuillez m'en excuser.
Je développe une interface graphique. J'ai besoin de masquer certaines commandes, et certains indicateurs. Je ne peux pas noté « (masqué) » dans l'étiquette car je connecte ces commandes / indicateurs sur le connecteur du sous-vi. Je ne peux pas non plus noter « (masqué) » dans le sous-titre car il prends la place de l'étiquette dans le connecteur (ce qui n'a aucun sens !).
Pour éviter fouiller le diagramme à la recherche de l'élément masqué, je me suis tourné vers l'outil de recherche, qui en principe sert à trouver les éléments facilement. J'ai eu l'espoir de trouver le champ « recherche par propriété » afin de cocher la case « indicateur / commande masqué(e) ».
Je propose donc plusieurs point à améliorer :
- le sous-titre ne prends pas la place de l'étiquette dans le connecteur de sous-vi ;
- la fonction de recherche doit permettre de rechercher par catégorie d'objet (commande - indicateurs - décoration...) ;
- la fonction de recherche doit permettre de rechercher par propriété (activé - grisé - masqué - sauter en cas de navigation par tabulation...).
Bref, la personne qui reprendra le programme après moi aura un certain nombre de difficulté à retrouvé l'ensemble des indicateurs masqués...
A moins que je ne soit passé à coté de quelque chose (!)
Merci à vous !
PS : je ne fais pas confiance aux traducteurs automatique...
Hi, the first time I watched labview code I got the feeling that you can't figure out what it means just by looking at it carefully. You are met with all this cryptic looking blocks that give no info at all. After some heartbreaks you stumble across "Show Context Help" which should have been showed by default.
From the "Show Context Help" you can go to detailed help, but the help examples are not minimalistic, instead they often are big applications.
For instance if you go to the example that is found in helpsection for the Euler differential equation solver, you find an application that can be used to show what can be done with Labbview, not as a help to use that particular function.
A pretty smart thing that is done of you is to have an example written on the panel when opening the Euler solver block. An even smarter approach would be to already have an equation already in place, so that the user just have only to m o d i f y.
The key concept to make things easy is to let the user modify a suggested solution.
Couldn't all vi's that are accesible from the Functions palette come in that fashion? Instead of filling in some required number or a string in a vi, you get suggestions. You already have default values in the unwirede inputs and outputs of a vi and that is good, but you have to take it yet another level.
Take for example when you want to plot the output from a differential equation solver. You have to transpose and do all kinds of shit to be able to get it across to an XY-graph. Why cannot labview suggest a solution? Or if you must recast an integer to a string, why cannot it be automated, so that Labview puts in the required converter automatically.
Why should the user get stuck at broken wires. Suggest something insted, and if the user is not satisfied, let the user be presented valid alternatives.
Let graphical programming be easiser. Compare Matlab command "plot(X,Y)" from a differential equation solver with Labview's code to present it on a waveform graph (you have to put a transposer in between. Horrible!), or if you want to use a XY-graph! (Horribel ! Horrible!!)
I think the vector operations are horrible to understand. Use minimalistic examples accessible from the "Context help".
Make whole videocourses availible on youtube etc. Why can't you have the same courses that you can visit in real life, be on the internet as video lectures? Isn't it better that you have free access to Labview education, so that many, many more people start to use it, instead of making peanuts (for NI) from live Labview education. You shouldn't stop offering courses that go with a teacher in a real life NI class room, but I don't think you get your maximum gain in spreading Labview from courses that costs in Sweden 10 000 kronor to attend. Who can afford that after paying for the Labview hardware and software?
Glad if this feedback of mine can help you make Labview even greater,
There are times when I leave a VI with modal properties open and then I run the main application that also calls this VI if opened in the development environment. This locks all running windows due to the modal VI. I propose a button in the taskbar that aborts all running VIs OR perhaps a list is opened on right-click of all running VIs
Didn't see this suggested yet, sorry if it was.
LabVIEW is smart enough to know if a cluster is "arrayable". If it is, it can be converted to an array.
It would be nice if "arrayable" clusters could be auto-indexed on for/while loops.
I have an instance right now were I would really benefit from auto-indexing but I still need unbundle by name in other sections of code.
When you need to wait during the execution of a program, there is no elegant way to insert the wait vi in the dataflow. The only option is to add a one frame sequence structure.
With an error wire passing thru, the control of the dataflow is easier:
the dimmed error wire on the icon specify that the error is not being dealt with.
(There are much more comprehensive ideas related to the run-time engine install mechnism posted and they would solve all this too. Still, if the above idea will take al long time, the following mini-idea could hopefully be implemented earlier )
Then, when they launch the application, they get all these warnings that are complete gibberish to a non-LabVIEW user. Warnings about missing VIs, ctls, etc. So I get phone calls and e-mails that things don't work.
My suggestion: The minimum run-time engine should be aware of the things included with the full run-time engine and give a single meaningful warning message that the standard runtime engine is required and only the minimum is installed.
We've all probably either written our own on-screen keyboard VI, or downloaded the various OpenG or other available freebies. I've got my own well-worn VI's for this purpose, but have spent some time and aggravation remodeling them as OS's and user tastes change over time. They are also not 100% consistent across platforms.
I think a set of touchpanel controls should be native to LabVIEW for consistency and ease of upgrade. NI could get a lot of marketing mileage out of improving LabVIEW as an HMI development platform by offering a set (and not just for purchasers of NI's touchpanel module). If I'm clueless and these exist somewhere already, let me know.
Adding an amplitude offset terminal to the FPGA Sine Wave Generator.VI would add capability of removing the negative component of the sine wave within the VI.
Why not make it possible to set the wiring requirements for controls and indicators that are linked to the connector pane by right clicking on the controls and indicators.
1) Its quite hard to select the right terminal especially if you use a high count connector pane pattern
2) Its good when you want to change the wiring requirements for several controls at the same time.
I come from an embedded background.
I came across this Idea when I became more and more comfortable using the LabVIEW. It would be good to develop a system not only for testing, control and/or industrial purposes. We can have this as an exclusive development environment not only to develop applications on the desktop or embedded devices but also at the OS(or the system level) level. As more and more cloud computing is catching up these days there could be also a support for JVM or a new virtual machine can be developed which is more close to assembly level so that the speed is not compromised and platform independent code can be developed using labview. If its a proprietary issue then a complete development environment right from applications till the core of the OS can be touched using labview. LabVIEW can be made to use in such a way that even the basic coding need not be done, it can be a complete replacement for the scripting or a language. It should be in such a way that a new standalone system can be developed using only Labview just like C. Ubuntu is catching up these days as an intelligent system as it has got a lot of potential to grow to all the computer users so a support for that as well can be developed which is directly compiled to assembly rather than C or any other language. I know the Idea is quite complicated but I think this can make a revolution in the software development as a new language which directly goes in as assembly to the machines.
Sometimes it's hard to switch the tab-pages on a tab control during edit mode.
It would be nice if we could loop through the tab pages like we loop through the cases of a case structure on the BD.
So by using the ctrl-scroll-wheel (or control scroll wheel), this would obviously only be available during edit mode to prevent the end-user to hack into the tab-control.