LabVIEW Idea Exchange

Community Browser
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

The above mentioned toolkit provides great support for S3 and SQS.  For DynamoDb, however, one has to buy a 3rd party driver (ie. Cdata) to provide labview access to DynamoDb.  It would be great to include this support in the toolkit

I was thinking that defining packed project libraries as the source of VIs used by the LabVIEW enviroment would speed up everything ex. loading LabVIEW, loading palettes linking dependencies, building executables etc. + solve linking dependecies conflicts.

 

The thing that we could do is just add the packed project library for the standard LabVIEW functions as the base of the palettes, but since we want users to be able to see what's inside we would still leave the VIs in the same folders - this way the user would be able to choose if he wants to use the packed versions or the versions from the disk - unpacked. 

 

This way only the ones with a specific unpacked instance would have to be loaded as single VIs, and we would have everything nice and clean.

 

Tell me what you think.

 

Pack LabVIEW.png

When setting the option "Separate compiled code from source file" will make the .vi-file NOT to contain executable code.

The forum filter accepts .vi files to attach to posts. But if selecting VIs with this option set, the posting is declined with the remark that the file type is invalid.

 

I recommend updating the attachment filter to accept VI files with compiled code removed.

 

Norbert

Hello,

 

I often have to use report generation toolkit in order to generate EXCEL reports.

This is a very easy way to generate userfriendly test reports.

 

But, the API of the EXCEL report generation toolkit should be improved, in order to be abble to insert real Excel graphs in the excel sheets.

 

For the moment, when you want to insert a graph in Excel, this is done by inserting a MSChart object.

 

The problem is that a MSChart object is not an Excel graph !

There is no link between the data inserted into Excel and the MsChart graph object.

A MsChart object contain all the data necessary to draw the graph.

 

It should be interesting to had the ability to create real EXCEL graphs ... with a link betweend the data inserted in a sheet and the graph.

So it should be possible to have access to data modifications directly reflected on the EXCEL graphs.

 

Thanks a lot.

(And sorry for my approximate english)

 

Manu.net

whenever a change of .NET dll is introduced, LabVIEW kept wanting to use the old dll. The change in a 3rd Party dll caused a full blown LV crash... 

 

A simple Uninstall of the entry in C:\Windows\assembly did the trick.

 

This was not mentioned in the following:

https://decibel.ni.com/content/docs/DOC-5921

http://zone.ni.com/reference/en-XX/help/371361J-01/lvdialog/assemblies_in_memory/ (only talks about runtime, which is helpful when creating the distribution)

 

 

 

This is not obvious nor an easy to find solution. An ability to pick and choose within LV the required dll (and version) would be helpful.

Not so much a new idea as a request to maintain current functionality. LV2010 does not support importing of LabWindows/CVI function panel drivers, can we have it back ASAP please!

 

For more info see:

http://lumen.ni.com/nicif/us/gb_infolvinstdriver/content.xhtml

http://zone.ni.com/devzone/cda/tut/p/id/3164

 

 

Kevin Snelling

(CVI Certified, CLAD, Alliance Member)

I did a search on this forum to see if the subject been asked before but couldn't find it quickly, so I post. I have been seeing business push and pressure to move in this direction over the years, more so recently and have migrated to eclipse for my current project and like CDT. I saw the following today and it got me off my inertia to ask/feel the question here. I would venture that Operating systems and other mature s/w tools aren't rocket science anymore, but commodities and open-source w/ customization makes sense. Easier said that done. Thoughts?

 

pavan

 

This inspired me to ask the question:  The Eclipse Helios simultaneous release of 39 Eclipse projects and 33 million lines of code showcases the diversity and innovation going on inside the Eclipse ecosystem. In terms of statistics, the Helios release includes 33 million lines of code developed by about 500 Eclipse.org committers from 44 companies. The important thing to remember about Helios and Eclipse simultaneous releases in general is that even though it's a simultaneous release, it doesn't mean these projects are unified. Each project is a separate open source project within Eclipse.org, operating with its own project leadership, its own committers and its own development plan. The simultaneous-release concept is designed to provide a transparent and predictable development cycle.

 

Other ref:

Microsoft ups the ante in the robotics market, makes MSRDS free ... (see coments from emiliekopp)

CentOS, Ubuntu...

Eclipse & addons

Python

GCC

Octave

Scilab

Android (I think it is open?)

Open-office

ISO formats for docs

Open Car

Open prosthetics

...

The list goes on.

I have LabVIEW Classes of the same name in two separate LabVIEW Project Libraries (e.g. for namespacing reasons) in the same LabVIEW Project.
When I go to configure the Inheritance of the a Class, the All Class In Project list just shows the Class names.
These names can be the same and it is not immediately obvious which Class is the correct one.
The only way to pick the correct Class is by looking at the Selected Class Path on the right.

 

demo.png

 

My idea is that the All Class In Project list will display the qualified names.

Either as one long name or nested, mimicking the LabVIEW Project hierarchy. 

(I think I currently prefer nested). 

 

Please implement a way to generate reports in ODF (native format of OpenOffice) as it is a file format everybody can read (.doc is not because you must buy Microsoft software).

 

 

If you do that, programmers will automatically be able to generate PDF because OpenOffice has a dos command to convert any ODF document to PDF.

Similar ideas have already been posted but non of them totally hits what I'm missing.

 

As always - what is the current situation?:
- LabVIEW is installed under "C:\Program Files (x86)\..." - this is a folder where admin rights are usually required to modify it.

- in the named folder the standard VIs are included: vi.lib / user.lib / instr.lib

- my project lays somewhere else - e.g. "C:\myLVProjects\project1", "C:\myLVProjects\project2", ...

- my first project is LabVIEW32 bit, my second is LV64bit,
- one project needs to have the binary code separated from the VI, the other one not
- one projects needs some toolkits from the VI Package manager, the other one not or maybe even incompatible ones to the first project

- one project needs VIs from an additional search path, the other one too but with a different version


long story short:
There are many situations where the configurations of two or more projects conflict with each other. Therefore, switching between two projects can be quite effortful — from adjusting configurations to (de)installing toolkits.

What I like to propose is the following:
Having a new option in the LabVIEW start screen "Create a new development environment".
The only the user has to do is to select a folder on a drive with enough free space.
LabVIEW shall now setup an entire code- and configuration environment. Means it copies vi.lib, user.lib, instruments.lib to this folder. It create a LabVIEW.ini and a link to the exe using this INI. It creates a folder for the compiled object code cache and so on. Installing add-ons from VI package manager shall also be stored in this new folder structure.
And of course, there shall be a place where I can manually add some libraries, my project files and finally also my build results.
If LabVIEW is now started from the named link it only uses the VIs from the environment folder as long relative paths are used (which shall be default).

Again in short:
I expect an encapsulated environment that contains everything that is needed to develop one project entirely independent from a second and third project.

 

When a third party add-on expires you get a dialog asking you to activate it, but the dialog does not offer you the option to remove it instead:

 

Mads_0-1665130603004.png

 

If would be nice to be able to select add-ons in the add-on list and then click a Remove/Uninstall button (and/or right-click). The current solution is to manually fire up the package manager and uninstall it from there (the remove button could alternatively (if needed /quicker to implement) call the package manager and tell it to start the removal of the selected packages.

It would be great if one could pull FPGA Bitfiles/changed Xilinx IP without recompiling the code / re-configuring the IP cores.

 

Currently it seems that I need to copy the Xilinx IP via the Filesystem (e.g. network-drives) after pulling a new version from a git repository.

This works since git doesn't detect any change (no commit required), but the modification date is preserved. But it is very annoying.

 

For FPGA bitfiles this trick doesn't work for me, at least not if the path doesn't perfectly match.

LabVIEW currently allows users to execute a MATLAB script inside the "MATLAB Script" structure, which lets you add inputs/outputs to the edge, set datatypes, and then type your MATLAB code in the central box.

 

If you already have a MATLAB script, you can use the right-click menu to "Import" (and conversely, you can test a script in LabVIEW and then Export it, if you wanted).

 

However, you cannot link to a script by path. Importing simply copy-pastes the content into the Script node. This behaviour, whilst probably useful in some cases (avoid future changes to the .m file breaking your nicely tested LabVIEW code) is different to most other nodes I can think of (Call Library Function Node, Python Node, .NET methods, ...).

 

Please add an option to pass a path to a "myFunction.m" file to the MATLAB execution system rather than copying the contents of a .m file into the structure's box.

(As a workaround, I believe this could be accomplished by running the MATLAB interpreter via command line and using the System Exec node, but that would require various path -> command line string parsing operations, and perhaps complicate cleanup of VIs using MATLAB.)

Now that NXG is going to be discontinued, I guess the NI employees who were working on it will be re-deployed.

There question is to do what??

 

A part of the LabVIEW community thinks the failure of NXG was partly due to the fact that the team working on it didn't have enough love for LabVIEW-CG and/or not enough experience using LabVIEW-CG in real world applications.

 

So my suggestion to help them understand better what makes LabVIEW great and what could make it even better is to encourage/force them to spend a fix percentage of their work-time contributing to LabVIEW related open source projects.

 

What better way to enrich the LabVIEW eco-system and make them feel for LabVIEW at the same time?

Perhaps a future LabVIEW version can include NI-defined common interfaces (with ~1 method each).

 

Examples might include "Initialize", or "Dispose" (to borrow from C#). "Shutdown" might be another option.

 

This could allow different developers to all base their code on a set of common shared interfaces, and then users receiving their code (via VIPM, GCentral, etc etc) could use it as a plugin more easily.

If I create abstract messages for the calling actor, I often have to write a wrapper function so the child classes can use the abstract message.

 

This is a repetitive task that would be a prime candidate for scripting. Images below is an example of the type of wrapper I'm referring to.

 

Send Abstract Message WrapperSend Abstract Message Wrapper

 

 

 

When working with large projects with many VIs I often find myself rewriting portions of the 'find and replace' feature that already exists as part of my VI Analzyer for overnight code-checks on the server...

 

It would be really neat if the existing find and replace logic available via the dialog was wrapped up into some simple API to allow for searching:

  • for full/partial matching text
  • VI path to subroutine...

 

if it had parameters to suppress dialog popups for passwords & not-found-subVIs, that would be really helpful for running searches headlessly.

 

The API could return just a 1D array of paths to SubVI's where instances were found, or if it was really nice, the VI references?    I'd be content if just the 'find' side of the equation was implemented..I could take any manipulations from there.  I can see that there might be a dependency on VI Scripting to accomplish the search, and I'd be OK with an API that only works on a machine with a dev license... Especially if the 'replace' side of things was implemented somehow...

 

-E

 

 

I wouldn't call it common knowledge, but it's certainly not unknown that there are LabVIEW callback VIs that are invoked if present when certain development environment events happen. With the growing prominance of scripting and the increasing ability to develop custom tools to inhance development, I suggest a more flexible approach to these callbacks. Right now, if you want to use these VIs you have to be careful that you don't overwrite the existing VI (if there is one), or you have to manually go into the VI and drop your subVI that you want to run, within the specific callback VI. It would be nice if there was some tool within LabVIEW that allowed you to select the VIs you would like to run on certain LV Development Environment events, and then the paths to those VIs would be fed into the callback function VI to be called dynamically. While us developers could create something like this on our own, a standardized template for a more flexible callback would be nice. This would ensure the developer could create VIs to, say, run on LabVIEW startup but never have to muck with the actual lv_init.vi VI, worry about what's already in the VI and overwriting it, etc. They would just have to configure another path to a VI for the lv_init VI to call. If anyone has a more flexible idea, please feel free to add to this.

My customer is using LabVIEW 2009 with SIT, MATLAB R2007B and he was able to transfer more than 97 elements of array data with his Simulink .mdl file with the following configuration:

- Configuration parameter of MATLAB model: solve complete time: inf, type: fixed step, solver: discrete, fixed step sample time: 0.01
- Default LabVIEW array reading rate defined by auto generated VI: 50ms >> changed to 5ms
- Executed in Windows local host

However, when the .mdl file is converted to DLL, it seems as though that an array size of over 97 cannot be transferred.

The issue seems to be able to be produced even with multiple arrays or multiple scalar controls so I believe it seems to be an issue of how much data it can handle and not a data type issue. As I mentioned previously, data is able to be passed up till a certain amount but after this "threshold", data does not seem to be passed and the default value of 0 is displayed on the indicator. (In an array, the specific array size is initialized but after the threshold, 0s are shown)

 

I was also able to reproduce the issue on my end with the attached files.

Download All

There are methods available to covert from .sif files commonly used with InField to .tdm or .tdms but not the other way around.  It has been suggested by customers to provide a method for this conversion.