Before I start, I want to make clear that I am fully aware that my suggestion is probably linked to some crazy amount of work.... That being out of the way:
I often have to switch between LV Versions and have on more than one occasion run into the rpoblem that different versions of LV work with MUTUALLY EXCLUSIVE sets of drivers. This means that I cannot (_for example) have LabVIEW 7.1 and 2011 on the same machine if I need to be coding GPIB functionality over VISA because there is no single VISA version which supports both 7.1 and 2011 (image below).
Of course these days we just fire up a VM with the appropriate drivers but for much hardware (Like PCI or Serial or GPIB) this doesn't work out too well.
Why can't we have some version selection ability for hardware drivers. Why can't I have VISA 4.0 and 5.1.1 installed in parallel and then make a selection of which version to use in my project definition? I know that ehse drivers probably share some files on the OS level so it clearly won't work for existing driver packages but for future developmend it would be utterly magnificent to be able to define which version of a hardware driver (Or even LV Toolkit like Vision) should be used ina project.
Wouldn't it be simpler to wire your DAQ systems if there was a way to print the tasks? This is exactly what I'm proposing - a 'Print' function from the menu to print the channel order for a specific task that would also contain the system configuration. See below:
Would create a file that looks similar to this:
I'm not saying that this is the end-all-be-all, but some way to print the channels contained in a task would simplify my life.
For several years NI marketing has used the term Graphical System Design to refer to LabVIEW and its suite of addons and supporting software. This is fine as it goes, but when I first heard the term I pictured something entirely different in my mind and I would like to suggest that as a product of its own.
When I hear Graphical system design, I picture something like VeriStand on the software side and a similar configuration based utility on the hardware side. It is the hardware tool that is missing and needs to be created. I would love to have a tool that could :
Let you define the hardware you are testing/controlling (the device). It has switches, analog inputs, analog outputs, frequencies, GPIB commands, CAN messages, TCPIP messages, etc.
This set of definitions would be in one place and would then be used to help you define the system that you will need to build in order to test/control that set of defined hardware.
A wizard would lead you to the proper hardware or choice of hardware that would work to test/control the defined signals. This needs to be modifiable by the user of the wizard, but should point to as good of an NI solution as it can and then allow options.
The wizard would then also help you develop the hardware interconnects of the system, for instance:
DAQ channel goes to a particular pin of a particular card or module
the pin goes to the NI cable
the NI cable goes to an NI breakout box connector
the NI breakout box connector goes to a terminal block
the NI breakout box terminal goes to device cable
device cable goes to device connector
device connector goes to device signal
It would also need to be able to add connections since you may have more breakout boxes or interconnecting cables in the system. These would all need to be in the signal chain.
Once I define it, you draw it. This would need to iterative and the drawing would need to be editable.
Signals that branch would need to be able to do that with each leg being selectable or the entire tree shown as one.
It would need to be divisible by signal (rows) and by connection (column) so that you can easily trace a signal throughout the system or conversely, see all of the signals in a particular connector.
It would be nice to view as individual signal wires, as connectors, as cables, as breakout boxes or other boxes, as systems, etc. This would be different levels of 'zoom' of the system.
It would need to play well with the Requirements Gateway. You will want to connect signals to specs, perhaps in several ways.
We typically do most of this already with separate tools that do not work well for job - Visio or PowerPoint for the initial system block diagram, AutoCAD Electrical or Mentor's Capital Harness for the wiring diagrams, Excel spreadsheets for the wiring interconnection - and nothing to pull it all together.
Putting it all into a single tool could be a good way to sell more hardware since you get to recommend the correct hardware for the definition. And you could even build the NI portion (for a fee). It may wind up being plug and play when the developer gets it.
Future add-ones or developments could include the ability to stub out VeriStand configurations based on the developed system. The ability to define and trace expected signals (such as DC levels or even complex waveforms). Or the ability to define signals as either electrical or the physical units that they may represent (pressure, distance, etc.).
For integration and station troubleshooting the Sessions, Aliases, Tasks et al would be organized by Project, Application or deployment in MAX and fault identification has all the "tools" any repair tech could want to isolate a failure.
The new compactRIOs come with a very useful USB-ethernet interface. I would like to access this on systems without the full driver set for low power hosts where we don't want to fill the system with a full driver install.
For example, I have a surface go which would be great if I can just plug it in to access the web interface for debugging.
The customer is managing a bunch of software licenses with Flexnet.
If the client user try to use some software when there are no available licenses, only NI software pops up the licensing wizard.
On the wizard, there is "Evaluation" button and once the client user mistakenly click the button, the software launches as a evaluation for around month and the Flexnet cannot detect the evaluation software, the customer cannot count the number of clients who is using the software.
If there is "disable licensing wizard" function, the issue never happens.
I realize this is a smallish use case, but I am posting here for future interweb queriers.
I have several functional, yet discontinued, HP8970B Noise Figure Meters that preset whenever NI-MAX performs a 'scan for instruments' or when I attempt a 'communicate with instrument' on them. Using IO Trace, I found the culprit is 'ibclr'.
Given this instrument predates SCPI, it does not understand '*idn?', and will reply with an error code. That is fine, but presetting is not. This clears my calibration and other settings.
It would be very good if the DSC llb will be reentrant (vi property -> shared clone reentrant execution).
It's no problem if I work with 50 citadel databases in parallel from executable files. But if I do it from one exe (with reentrant VI that work with citadel) then it works very slowly and very often with critical memory errors... And 50 exe files is not a good solution any way.
OK, I admit that I find keyboards a useful input device. And I like to keep my fingers on the keys instead of switching back and forth to the mouse.
This said, I should appreciate when I can use the <tab> key to navigate through dialogs. Such as the scaling dialog in MAX: If I mouse click into unscaled max, I can tab my way through unscaled min - scaled max, scaled min. But -Lord forbid! - not into scaled unit! why not? wouldn't this be the most natural dialog box behaviour? To be able to tab through all fields of interest? Given that LV has a great tool to select and organize tabbing behaviour of user interfaces - why have all MAX dialogs escaped this small improvement ever since (as far as my knowledge goes back to MAX 1.0)
Please give some programmer this half an hour and let him improve this detail.
It would be really nice to have the ability to create groupings for the Remote Systems in MAX. Below is the list of my current targets. While I'm sure there are many people that have a longer lists of targets, I find this list a little bit unmanagable already. Additionally, we are either planning or working on projects that will about double this list.
Please add the ability to group the remote systems so that they can be managed in their own tree (or somthing similar)
It is wrong the time zone for Caracas at the Time Settings configuration (MAX 14.0) . Since december 30, 2007 has been changed to -4.5 UTC. I will appreciate if you correct this bug in future LabVIEW versions.