|
|||||||||||||
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.
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,
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.
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:
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.
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.
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?
It would be helpful if the distribution kit had three additional options;
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.
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.
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:
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.
I'd like the following options being added to FileBrowser tollslib control:
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 - 9e99999? Another 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);
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?
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.
My Profile | Privacy |
Legal |
Contact NI
© 2011 National Instruments Corporation. All rights reserved. | E-Mail this Page
|
||

E-Mail this Page