Additional NI Software Idea Exchange

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

Custom Device development does not have a very good design/develop/test work flow. To improve this, the custom device template tool needs to be rewritten so that it better incorporates design before creating the project/library/VIs.

 

In order to better incorporate design into the process, I envision a custom device template tool that is configuration based. From this tool, a developer would be able to specify the pages, actions, RTM, dynamic buttons, help topics, and glyphs. The developer should also be able to specify any options the custom device or a given page, RTM, or button may use such as multiple target support RT driver VIs, delete protection, rename protection, RTM/button dependencies and behavior, etc.

 

Once the developer finishes designing the custom device, the XML should be fully implemented and all the necessary VIs (actions, pages, RTMs, etc.) would be created in the library. This would greatly cut down on the overhead of creating new files from templates and modifying the XML over and over. It also encourages developers to do more design of the custom device up front instead of designing while they code.

 

For completeness, it would also be nice if the tool had the capability of linking into Requirements Gateway or something so they could do requirements tracking. I'm not sure how this would work, but it's something that maybe should be investigated.

 

The final aspect of this idea is that there is a need for better testing of custom device developments. I find it difficult to do good tests because my code is always tightly coupled to Item Properties or other things that require VeriStand references. I think this tool could also script some high level test code that would be able to run the pages or RT driver VIs outside of the VeriStand executable. In order to accomplish this, I think VIs could be developed that use the SysDef API to load system definition item information outside of the VeriStand executable so that the references could then be passed to the appropriate page or driver VI. I envision the test VIs are wrappers that wrap up the page, action, RTM, or driver being tested. In the case of pages, the custom device would need to be added to a SysDef and the Init VI would need to be executed. Some pages would also require the section or channel being added to the appropriate section or channel as well. If the configuration tool could script most of this work, I think it would be very helpful.


Regards,

 

Mike

Hi, a few suggestions related to software deployment.

1) Separate out the Volume License Installer from the Volume License Manager. These should be two separate programs. Having the VLI separate allows other admins in other departments to create VL installer files for their own area without having to have an agreement file for the volume license server (which would be running on another machine and one which the other admins may not have access to). 

2) Have the NI License Manager client require elevated (i.e. admin) privileges to change the settings. This will prevent unauthorised users from changing the network license server which affects all users of the system. This is necessary in a classroom environment.

3) Have as an option whether things like the Package Manager/Registration wizard/Update service etc get installed.

NOTE: My role is only IT sysadmin support at my university. I'm not familiar with NI's individual products. I help run the servers supporting the NI-VLM and have previously helped package LabVIEW for automated deployment.

 

I know the NI-VLM tracks usage of the individual "paid" software products like LabVIEW/Multisim that are part of software site licenses. I'm trying to determine if the NI-VLM can tell me if a user has used *any* part the NI solution on a client computer--even if it is a "free" product included with it such DAQmx, MAX, ELVISmx Instrument Launcher, etc. I'm trying to determine NI software usage as a whole to gauge whether or not the usage is enough to justify installing this large software suite into specific locations on our campus, to stop installing it into lesser or non-used locations, move the installations elsewhere, etc.

 

thanks!
Scott

 

Would like XNET session to filter source addresses at the session level based on source address(es) specified in the dbc file.  Currently only way to filter is apparently to specify each individual frame to be filtered.  See screenshots of sample dbc and code required to filter multiple frames below.

Powertrain_0-1617281888294.png

 

Powertrain_1-1617281900942.png

 

Currently when trying to see errors we need to enlarge the window, scroll through the items, and then take a screenshot of the dialog. This was encountered when trying to share my errors with support. We should make this easier through the proposed ability.

 

 

Hi,

 

the company I work for designs automotive infotainment products, and we used products from NI extensively in product validation an testing, including TestStand, Labview, DIAdem, FPGA, RT. etc...

 

In order to simplify license management, we chose to used the NI Volume License Manager (VLM).  This provides centralized managment of licenses, including easy addition and removal of licenses, as well as license recovery from PCs no longer in service (broken or decomissioned by IT).

 

Since I am the technical lead for test system development, it falls to me to perform license capacity planning, request disconnected licenses, manage license groups, and all the other administrative things that go with license management.  I am not, however, in the IT department, and since the VLM runs on a Virtual Machine inside the VM park, I always have to request license changes from our IT specialists. 

 

I would very much appreciate it if there were a tool to remotely administer the VLM.  This would allow the IT department to give me access to just the VLM to perform administrative duties there, sort of like the MMC in Microsoft Windows Server lets users administer remote servers.  

Hello,

 

For custom FPGA personnality, it is possible to use PWM scaling: in the system definition, you can define the PWM period (in Ticks), and then at execution, you can play with the ratio (channel value in %): 

 

PWM Out Configuration in System ExplorerPWM Out Configuration in System Explorer

 

I guess the "native" FPGA scaling inludes the conversion between pulse ration specificed by the channel and the period in ticks to get the high and low time used in the FPGA (_High Pulse x and _Low Pulse x in FPGA example project) :

 

DMA Read operation and High/Low Pulse split in FPGA exampleDMA Read operation and High/Low Pulse split in FPGA example

 

 

PWM out loop in FPGA examplePWM out loop in FPGA example

 

 

I am facing for the third time (at least) a customer need to adjust this PWM out frequency at run time. I already adress this need by exposing high and low time in a Custom FPGA Personality. But that's not really convenient (I used to build a display template to get an easy way to configure the whole PWM generation - I'm not sure I even wan't to know if and how is possible with UI Manager).

 

My proposal : expose PWM period or frequency as an additional (and optional) channel, in order to allow the change of its value at run-time. The FPGA "interface" in VeriStandStand could take in charge the computation of high/low time according to this new channel value. This way, existing FPGA personnality do not have to be changed (backward compatibility).

Cherry on top of the cake, you can even imagine to set up the expected PWM Loop rate and express the frequency in Hz, instead of the PWM period in Ticks (scaling, one more time).

Under the System Explorer, a right click on the PWM out channel could expose a new entry in context menu, allowing the user to Add PWM Frequency Channel (just like Add Information Channels for XNET frames)

 

Regards,

Currently licenses use the sort key word within a server's license file to specify the priorotized check out of similar software products ( a preference to check out DIAdem professional over DIAdem Advanced for example when a user has permissions for both).  With concurrent licenses, right clicking on a software product from a client's License Manager application and selecting the Do not Allow License Request from the context menu as shown below will also bring about this functionality.

 

Without a set preference, sometimes two licenses are checked out, and this is a known issue:

 

DIAdem is double-checked out from VLA when several versions are licensed

http://forums.ni.com/t5/NI-Applications-Engineers/DIAdem-is-double-checked-out-from-VLA-when-several-versions-are/td-p/2139600

 

Do Not Allow License Request for Concurrent License

 

Concurrent.png

 

 

 

Sort Keyword Within a Server's License File

 

ServerLicense.png

 

 

 

My suggestion is that we create a way within VLM to modify the server's *.lic file (by changing sort key word's value) to reflect software check out priority.  Currently this change can be made by manually modifying the sort value in the server's *.lic file.  This works since the server's license doesn't need to be resigned after said modification.  However, it would be nice if this change could be made through the VLM user interface and the *.lic file would be modified behind the scenes.

 

 

Feel free to comment or Kudo!

 

Cheers!

 

Shawn S.

The types of scale is limited to lookup table, polynomial and thermocouple.

For thermocouple the scale is only available for input (electrical -> physical).

It will be interesting to add other scales, like thermocouple on output, time to frequency (1/x).

The best will be the capability to define custom scale.

Hello Folks,

 

As a developer, I use to have several screens for Test data display, Manual panel, Model execution control panel, etc. As per to the operator any screen other than Test data display is unnecessary.

 

It will be really good, if we could include the Screen selection in the "User Accounts Manager" with respect to the users like shown below

 

Operator options.PNG

This option lets the administrator to select the specific screens whichever is necessary for the operator.

 

 

-SID

 

 

Hello,

 

It would be nice to be able to control the stimulis from a workspace screen.

 

It would be nice to had a control like this ...

 

 

Capture.PNG

 

The stimulus list could be filled according to the content of a Project directory. (Project Root / Stimulis )

 

Thanks.

 

Manu.net

Now you can't drag&drop to move sequence files in Project Explorer. To workaround this, you have to add files under folders after creating folders. The way to workaround is time-consuming.

 

Thanks,

 

Saku

 

image.png

VeriStand suppot 32 and 64-bit aligned fixed point data: http://zone.ni.com/reference/en-XX/help/372846G-01/veristandmerge/creating_custom_fpga_configuration_file/.  Please add support for FXPU8, FXPI8, FXPU16, and FXPI16.  This can potentially reduce the number of DMA reads/writes by 4.

Whenever I delete a signal (whether it's a custom device, user channel, calculated channel, etc.), VeriStand goes through to delete that signal from anything referencing it. This is often nice but at times undesirable because I may plan to add it back again at a later time with a new custom device with the same signal names, for example. The auto deletion of all references means that I'd need to go back to relink all of the broken references even if the missing signal gets restored later anyway. Some of my channels are used in 20+ places.

 

I'd like to see VeriStand prompt me or give me an option as to whether I want to delete all references. If I choose not to delete the reference, I understand that an error will show up later if I try to deploy or run. Thanks.

Filename are different in Embedded Data Logger and Waveform Logging (VeriStand 2014) :

 

IdeaExchange_VS_EmbeddedDataLogger_LogFileTimestamp.png

Embedded Data Logger : <Hour>_<Minute>_<Second>__<Day>_<Month>_<TwoDigitYear>.tdms

 

IdeaExchange_VS_WaveformLoggingTimestamp.png

Waveform Logging : <FourDigitYear>-<Month>-<Day>_<Hour>-<Minute>-<Second>,<SecondFraction>.tdms

 

Why timestamps are differents?

 

The format of Waveform Logging should be prefered, with year on four digit, month and day first (sorting file is immediate), hour in 24 format.

There should be an option in MAX to be able to show remote systems by hostname, OR by IP address.  

 

hostname.pngOR  IP_address.png

 

When managing several targets it can be very hard to keep track of which target has which IP address and it is incredibly tedious to look through every target to determine it's individual IP address.

I have a system definition of over a thousand signals. I see that VeriStand 2011 has some search functionality built in. Is there a way to search not just ni the channel names but for the use of particular variables within calculated channels? For example, if I have UserVar1, I'd like to be able to find all occurrences of where UserVar1 is used. It could be an argument in a Calculated Channel, a mapping destination, an alias, etc. Is there a search tool that can accomplish this? Thanks.

Hello,

 

Many times, I find myself wanting to compare different I/O traces side-by-side, but I can only have one instance of I/O Trace in memory and hense can only view one capture at a time.  Would it be possible to view two different captures within one instance of I/O Trace?  I believe a lot of people would appreciate either a split screen option or the ability to open another instance of the I/O Trace application in memory.

 

Cheers!

 

Shawn S.

Many folks have huge trouble with building extra packages for the cRIOs (that are either missing or outdated), not to mention reproducible deployment and configuration management.

 

In industrial environments, we need a very high degree of customizability and reproducability, which the current nilrt distro just cannot provide. Setting up such an environment from scratch is a huge work for users, which usually aren't Linux embedded expert.

 

Therefore I'd suggest an fully automatized deployment of development environments, which are also easily customizable for the user. Major keypoints are:

 

a) development environment setup:

* container-based solution that can put together an environment automatically, using well-proven standard technology (eg. docker, ansible, ...)

* executable documentation: use declarative approaches, that are easy to understand and allow automatic documentation (eg. for verification / validation)

* use a recent, well-maintained standard distro (inside the container), and use off-the-shelf standard tools where possible

* fully tracable source control via git

* easily customizable: the user can fork off his own configuration from the appropriate upstream release, customize to his needs and later rebase to newer upstream releases if wanted

* automatic setup of package mirrors, binary repositories, product specific local deployment and HIL environments, etc.

b) target build environment:

* highly reproducable - even after very long time (eg. also allows automatic source code mirrors, etc)

* executable documentation - the configuration can be easily understood and used for generating documentation

* based on a Linux embedded experts community

* supports building for several (including customer-specific) target platforms

* supports easy configuration / customization of installed packages, as well as features selection and tuning of individual packages

* supports easily adding own software

* supports maintaining customized system configuration with image building

* fully tracable source control via git

--> the natural choice is using PTXDist (fast, reliable, reproducable, excellent expert community)

 

I'd estimate about 6 man-month (for a lone developer) for the initial stable release of the core system, plus another 6 mm for additional tasks like user documentation, examples, target specific configurations, etc.

 

Costs: about 200k $ (including extra buffer)

Equals sales price of about 25..30 avg. cRIO units. (RIO break even likely at about 50 units).

 

Write clean IIO drivers for the NI DAQ cards and bringt them to mainline.

 

Pro:

* full Linux-support via standard APIs out of the box (without extra sw installations)

* very high quality by community driven maintenance

* directly supporting for standard applications by standard APIs, w/o any hw-specific modifications

* easy integration in / customization for complex scenarios

 

* increased sales volume by opening a completely new market (Linux/FOSS world)

 

Costs:

* avg. 4..8 man-weeks per device type

* usually less than 1kLOC per device

 

For example, the - currently completely unsupported NI-600x - can be easily integrated into IIO as well as GPIO and PWM subsystems (driver can provide several interfaces in parallel, so users can pick the appropriate one for their applications).

 

NI could open up a new market - the Linux/FOSS world - which is currently completely unavailable to them right no, due to lack of usable drivers.