NI Home
Cart Cart | Help
Hello Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI
You are here: 
NI Home > NI Developer Zone > NI Discussion Forums


LabWindows/CVI Idea Exchange

Announcements
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea
0 Kudos

If you design a table in the UIR editor including cell colouring and at a later time you want to switch the table from indicator to hot or viceversa, cell colouring is lost and all cells default to black text / white background.

 

I understand that there can be a reason for this to happen (i.e. follow colouring standards for controls / indicators) but it's a hassle being forced to apply every time all colouring effects on the whole table! At least add a dialog box to choose whether to preserve actual colouring or use default black/white.

Include a function to programmatically re-start the NI Variable Engine if it is found to be stopped.

Although the NV libraries include a function to detect whether the NI Varible Engine service is running, there is no function included in the library to facilitate re-starting the NI Variable Engine service. 

For those The method that I am aware of to restart this service is to use the ANSI C system() function with an embedded command line:

 

 

Index = 0;                                           

CNVVariableEngineIsRunning(&running);

while((!running) && (index++ < 5))

{

System(“net start \"NI Variable Engine\"");

                Delay(0.1);

                CNVVariableEngineIsRunning(&running);

}

if(!running) return -1;

 

Learning this required some time spent on the web, looking through old posts on how to solve the same problem in LabView.  Rather than spending that time, it would have been more productive to just pull it out of the library.

I discovered through trial and error that the CNVCreateBufferedWriter function, while it does provide buffering when necessary to preserve data until it can be written within a process, it does not provide for arbitration between writes originating from multiple processes.  Stated another way:  As far as I am aware, a single Network Variable process is not designed be written to by more than one application.

   

The documentation was not clear on this point.  It states “You can buffer data to be written to the network variable by calling CNVPutDataInBuffer. The system automatically writes the buffered data to the network variable.”  This suggested to me that arbitration of some kind existed to handle asynchronous writes by multiple applications.  I confess, my interpretation may have been driven by wishful thinking to support my application needs.

 

Nevertheless, my suggestion is that future versions of this library include a capability to arbitrate asynchronous writes from multiple applications to a single network variable.  i.e., that two, or three, or more applications can successfully connect to and write to the same network variable.

ptb_nmK

Improved Source Code Control

Status: New
by Member ptb_nmK on ‎05-01-2013 02:38 PM

Hello everybody,

I tried to use a source code / version control for projects in which I  use LabWindows and Visual Studio.

One possible solution would be to implement support for the team foundation server, which already has be added to LabView.

Another would to provide an independent solution.

 

Best regards,

tstanley

Font installation on Windows Vista/7/8

Status: New
by Active Participant tstanley on ‎04-30-2013 10:02 AM

It appears that when adding a font to the installation package by having the installer copy the font file to the [Fonts] installation directory, all the installer appears to do is copy the font to the C:\Windows\Fonts directory.  This is good enough for Windows XP, but in later versions of Windows additional steps must be performed for the font to be recognized by Windows.  It would be nice if the installation package could perform these steps when installing fonts on these versions of Windows.

RobertoBozzolo

Add a serious report printing tool to CVI!

Status: New
by Trusted Enthusiast on ‎04-19-2013 03:35 AM

At present CVI is missing a serious report printing facility that permits to create flexible, professional and good looking reports.

A quick search in CVI forum shows that periodically somebody posts questions about reporting but available instruments at the moment are not satisfactory in my experience.

 

As far as I can tell, a good reporting instrument:

 

  1. Should integrate easily with CVI
  2. Should be fully documented, with some example for the more typical types of reports (text + table, text + graph, text + image...)
  3. Should not rely on external programs (some customers have rigid constraints on the software installed on equipment machines; additionally, asking them to have full Word or Excel or Diadem installed only for reporting is just not serious)
  4. Should not rely on ActiveX controls to be licensed separately (same as above)
  5. Should permit to include text and graphics (images, graphs...) and define headers, footers, page numbering and other common features normally present in reports
  6. Should output data directly to the printer or in PDF format
  7. Should have a preview facility both for development and for the user (something that NIReports hasn't and will never have)
0 Kudos

Doing a CTRL+F and finding all instances of a word works, but is a lot of steps.  I tend to use Notepad++ a lot for my IDE and it has this really handy feature.  If you double-click a word, it will highlight that and all other instances of that word inside that one open file.  This is like a "quick find" that saves a lot of time.  See attached image to get the idea.  The darkest highlight is the one instance that was double-clicked.

ElectroLund

function list

Status: New
by Member ElectroLund on ‎04-15-2013 12:18 PM

I would like to suggest a function tree view in CVI.  I feel this is sorely missing.  Many times, I want to jump right to a function, but I don't remember where it is.  In a single C file with 1,000+ lines, this can be very aggravating.

 

For this reason, I tend to use Notepad++ for the heavy lifting, along with the Source Cookifier plugin.  See attached screenshot of that plugin.

 

There are options in the plugin to enable certain features, such as the global and local variables in addition to the function names.  When you are inside a function in the souce editor, the tree updates with a selection to show that you are inside that function.  This is very helpful with functions that have more lines than available veritcal screen space.  This way, I don't have to scroll up to see what function I'm looking at.  I simply look at the tree with a glance and I know.

0 Kudos

 

What is the point of this Idea Exchange, when there is such a low uptake rate from NI?

 

There have been many very good suggestions posted here, but only 6 are labelled as "In Beta", which I assume means will be in the CVI release this autumn. There are 106 "Under Consideration", but there is no indication what is required to move them to "In Beta". For instance, Wolfgang posted "Reduce and document the NI services running after Windows logon" on ‎04-01-2011. It went to "Under Consideration"  on 08-15-2011. Two Years from the original posting, we still have nothing!


How do I justify renewing our Volume Licence Agreement when the LabWindows development effort within NI is so small?

 
How many people actually are on the full time LabWindows team within NI?
0 Kudos
JGC

Distribution Kit Enhancement.

Status: New
by Member JGC on ‎04-08-2013 07:13 AM

It would be helpful if the distribution kit had three additional options;

 

  1. Compress all of the files and subfolders into a single *.zip file.
  2. An option to convert the *.zip to a self extracting archive (SEA) file *.exe.
  3. An option to automatically run "Setup.exe" after completing the file extraction from the SEA.

Option 3 is only available if option 2 is selected and option 2 is only available if option 1 is selected.

 

The above can be done with external tools and is helpful when distributing via a web-download, Dropbox or another internet based system. Installation for the end user is then simply a case of clicking a single link and running a single file. After that they are prompted by the usual installation dialog.

0 Kudos
AndyL-3

Improve EVENT_VAL_COERCED

Status: New
by Member AndyL-3 on ‎04-05-2013 01:35 PM

 

It would be nice if eventData1 and eventData2 were used when EVENT_VAL_COERCED is triggered.

 

I have an application in which I want to know if too high or low of a number entered.

 

GetCtrlVal always returns the coerced to number that is in range.

 

if eventData1 is 1 the max value was hit, if -1 the min value was hit.

 

eventData2 is always 0.

 

You can check the value returned by GetCtrlVal against the min and max of the control using GetCtrlAttribute.

 

I am running into an issue where my ranges change based on other control ranges and sometimes the min and max of a control are set to the same

number.  I want to know if the number entered was too high or low.

0 Kudos
tstanley

Fix the exit function

Status: New
by Active Participant tstanley on ‎03-27-2013 10:33 AM

The exit() function will make the application always return 0, no matter what value is passed to the function.  Per the documentation:

Note Due to the way that this function is implemented, the exit status value entered into this parameter is ignored.

 

Thanks.

 

Starting from CVI2010, the User Interface Browser and the Attribute Browser are both located on the right of the UIR editor in the Workspace window.

 

I'd like to be able to hide these windows when required: when working on small screens like when you use a laptop these windows occupy a lot of space even if you reduce their size at the minimum.

 

In addition, the ability to choose which window to display on the bottom left could be a good option: up to version 2009 the bottom left side of the workspace window switched between the library tree (source editor) and the attribute browser (UIR editor).

 

Ideally, while in the UIR editor I would like to be able to:

  • Choose whether to show some window on the right side or not
  • In case nothing is shown on the right, choose whether to have the attribute browser, the library tree or the user interface browser in the bottom left angle
Wolfgang

Provide opacity attribute for graph elements

Status: New
by Active Participant Wolfgang on ‎03-24-2013 07:27 AM

Hello,

 

building on this suggestion of Bertrand I'd like to extend it as follows:

 

Please provide an opacity/transparency attribute not only for xy plots, but also for graph annotations (texts, glyphs), PlotLine, PlotRectangle, PlotText etc.

0 Kudos
ofirga

Blinking led

Status: New
by Member ofirga on ‎03-11-2013 09:20 AM

Hi 

might be a useful idea to add a checkbox to some controls such as leds, text and numeric value which utilize a blinking feature.

I'd like the following options being added to FileBrowser tollslib control:

 

  • Ability to hide / tailor popup menu for the right portion of the FileBrowser (file list): at present, even if I disable the popup menu on the tree control (regardless it is made before or after converting the tree into a FileBrowser) the rightmost part of the control has its own popup menu enabled
  • In case the menu is shown, it would be a good thing to be able to add / change / hide items in that menu
  • Ability to programmatically set the width of columns in the file list section of the FileBrowser
  • Ability to programmatically set the label of columns both sections of the FileBrowser: this is particularly necessary in case you need to localize the user interface in a language other than English, as FileBrowser cannot be treated by the Localization Utility since it is created at runtime
tstanley

Editting Tab Order and dimmed controls

Status: New
by Active Participant tstanley on ‎02-21-2013 10:56 AM

It would be nice if the "Editting Tab Order" window could change the order of dimmed controls like in previous versions of CVI.  Thanks.

MarcBAE

Better Documentation

Status: New
by Member MarcBAE on ‎02-13-2013 11:10 AM

I'd like to see better documentation online.

 

Currently, documentation seems to be spread over different areas: online, in sample code included with the development environment, in a downloadable help file, etc. What online documentation there is is incomplete - for instance, if I'm looking at the function reFFT (just an example, I know it's obsolete), the online help gives me the parameters and what they are but they don't tell me acceptable values, e.g. what is the largest/smallest value I can use for numberOfElements: 1 - 9e99999Another case was with the NIscope driver NISCOPE_ATTR_INPUT_CLOCK_SOURCE. When I looked at the documentation (downloaded zip file filled with CHM files) there was a list of defined values but no desciption of what they were or were not for. Example: NISCOPE_VAL_NO_SOURCE ("VAL_NO_SOURCE")...I *assume* NO SOURCE is equivalent to Intenal but should I really have to guess when looking at documentation? For that matter, why does this information only appear to be available via downloadable file? 

 

In another case with NISCOPE I found that the niScope_ConfigureHorizontalTiming expects a certain clock frequency (10 MHz) if you're using an external clock, but if you are using a clock frequency at exactly what you're asking for you have to set the attributes directly. I messed with this for a while before calling the help desk. The person at the other end was able to tell me how to fix my problem but he could not find documentation online (accessable by me) where this information could be located. It seems to me that the number of help calls could be drastically reduced if sufficient help were available online. Finding information on error codes is similarly lacking.

 

I also have a problem with referencing "installed" sample code in lieu of a online programmer's manual. I don't always run on my development machine. So I'm on my target system (that does not have the development environment installed) and I want to look something up...it's very frustrating to find all help on a particular subject referring to my development machine. 

SetAnnotationAttribute permits you to pass -1 in AnnotationIndex parameter to apply the attribute to all annotations on the graph, while SetCursorAttribute does not. It would be good that this command too permits someway to operate on all cursors in a single pass.

 

As an example, when I want to print a graph on a black-and-white printer I prepare the control for this changing all elements to black. 

I can use a single instruction for annotations:

   SetAnnotationAttribute (panelHandle, PANEL_GRAPH, -1, ATTR_ANNOTATION_CAPTION_COLOR, VAL_BLACK);

 

On the other hand, I need to iterate on all elements for cursors

   GetCtrlAttribute (panelHandle, PANEL_GRAPH, ATTR_NUM_CURSORS, &numCursors);
   for (k = 1; k <= numCursors; k++) SetCursorAttribute (panelHandle, PANEL_GRAPH, k, ATTR_CURSOR_COLOR, VAL_BLACK);

 

0 Kudos
QuerulousJohn

Fuzzy Logic for Labwindows/CVI

Status: New
by Member QuerulousJohn on ‎02-02-2013 02:08 PM

I believe there is a Fuzzy Logic package for LabView. I suggest that a Fuzzy Logic package also be provided for LabWindows/CVI.

 

I am working on a motor control project and I do have my own Fuzzy Logic code that I developed in C a few years ago for a Z-World board and recently ported it to a MicroChip dsPIC processor, also in C. I can port my own code to LabWindows but I believe it would be better to use code developed by NI folks as the NI code would probably more stable, reliable, flexible etc.

 

I won't attempt to expound on the advantages of Fuzzy Logic (FL) over PID except to say I have found FL to be very useful and easy to get working as it doesn't require extensive and exhaustive (and exhausting) system testing in order to come up with a working control system. Just a set of rules and a FL compiler to produce a "control surface" that is used with system feedback values to compute output values to produce a working control system.

 

So how about providing Fuzzy Logic code for LabWindows/CVI?

About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Idea Statuses
Top Kudoed Authors
By using this web site, you accept the Terms of Use for this web site. Please read these Terms of Use carefully before using any part of this site. Please go here for information on ni.com's copyright infringement policy.
My Profile | Privacy | Legal | Contact NI © 2011 National Instruments Corporation. All rights reserved.    |    E-Mail this Page E-Mail this Page