Additional NI Software Idea Exchange

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

Often times, the values of numeric indicators are changing rapidly and it is necessary to create Calculated Channels with Averaging [Smoothing] functions to make it easier for the operator to interpret the data.  When you need to do this for dozens of channels, this is very time consuming for the end user and requires unnecessary resources of the RT controller in performing these calculations.

 

With charts, it is possible to edit the Streaming Rate, but with Numeric Indicators this is not possible.  

 

Request:

 

  • Add an option in the Configuration Pane, for the numeric indicator selected, to Average the channel value by xx points (n)

 

ATarman_0-1701189534025.png

ATarman_1-1701189689183.png

 

 

Request for evaluation by a user group and update of VeriStand System Explorer user interface.  The System Explorer user interface has changed little in several years - small improvements, such as allowing the user to enter formulas using the PC keyboard rather than the interface within the Calculated Channel Configuration Page would be significant.  As an example, the INERTIA Calculation Custom Device is more user friendly and intuitive.  

 

Additionally, the ability to better organize Calculated Channels, Alarms, Aliases, User Channels, etc. after creation would be helpful.  For large projects, where we have dozens of variables and calculated channels, it is a significant amount of work to organize after the variables or calculated channels are created.  Creating folders beforehand to help organize is a workaround, but after the fact, using the Cut and Paste functions are clunky - the ability to drag and drop would be preferred.

 

ATarman_0-1692273223314.png

ATarman_1-1692273239297.png

ATarman_2-1692273514261.png

 

 

 

A NI cDAQ-9172 device transmits the measurement data as part of a complex machine.
The NI MAX programme is functioning successfully during certain visits. The software stopped working after some machine support.

 

In an attempt to resolve the problem, the module was updated to version 16, installing all the necessary drivers.


The Active LED and Ready LED indicate that power is applied, but a USB connection has not been established. (Active LED: amber; Ready LED: off)
In software: The device is not reachable, and red cross icons appear next to the chassis and the modules in NI MAX.

 

and an error appears: (Status Code: -88705) The specified device is not present or is not active in the system. The device may not be installed on this system, may have been unplugged, or may not be installed correctly.
Status: not present

 

In the NI device monitor, no NI devices were detected.

 

 

How can I get the USB connection established?

 

 

 

The way we use VeriStand [currently 2019 SP1] and the INERTIA custom device for drivetrain testing, we work off a project template that may be reused for new tests, but a great deal of editing must be made to the system definition file for each project.  

While starting up a new test fixture, I am undeploying the VeriStand project multiple times per day to make edits to the system definition file procedures, alarms, calculated channels, etc.....items that can not be edited [or at least retained after undeployment, such as alarm and user channel variables].  

I would like the opportunity to edit a system definition file while the project is deployed so I do not lose downtime on test run time.  Would it be possible to, similar to SharePoint, "check out" a system definition file to edit it while the project is deployed, and after the edits are completed, undeploy and then "check in" the new system definition file.  

This feature could be integrated with a versioning feature to retain a specific number of revisions of the system definition file - say a preference that specifies to retain 15 prior versions of the system definition file.  

NI TSM installs the attached code for simulating chassis and modular instruments that don't already have simulation plugins to MAX provided with their drivers.  There's no reason I can tell that this functionality should be limited to NI TSM given that modular instruments are used outside of TSM (and TestStand) all the time.  Please add this simulation capability to NI MAX!

Download All

I have been using Flexlogger for about 6 months now. 

 

Few issues I would appreciate if could be addressed. 

 

I would highly appreciate if Accelerometer channels can also calculate velocity and displacement. ( Read Dewesoft X another platform that does the same)

 

It would help greatly either if we could move out screens tabs independently out of the window like a web browser or some type of multi-monitor support for display screens

 

We can change background colors or set the system as transparent, it would be good if we could change the transparency value for UI indicators. 

 

It would also be a great feature if we could get configure display settings on the graphs to a higher degree. Graphs could use an aesthetic overhaul. 

 

It would be great to have some graphics feature for P&I which are interactive based on the unit values that are linked. 

 

Few more dial options, and maybe some design resources on the training pages for building better looking dashboards. 

 

Regards

Sandeep Ghosh

Quality Engineer III

101 William White Blvd.

Pueblo, CO, 81001

Phone: +1.719.585.3926

Mobile: +1.719.289.6535
Email: sandeep.ghosh@trane.com
Website: www.trane.com


 

WD HMI.JPG

 

Motor Vibration.JPG

 

In the everyday life of a SW developer, it comes again and again to the fact that problems arise, and must be solved.

 

It must be weighed again and again whether a problem resulted from own errors or whether the cause of a problem is to be found by errors in the development environment or in used modules such as xNET, DAQmx etc.

 

It happened to me several times in the past that I looked for errors in my own LabVIEW source code, but afterwards I realized that the cause of the problem was a malfunction in LabVIEW or in one of the used drivers.

 

In order to become aware of possible problems as early as possible during this troubleshooting process, it is important to be actively informed about possible problems inside of the NI Modules.

 

For example, it would be helpful to be notified with an email in the following cases.

- A new entry in the Known Issues and Bugs list

- The new possibility of a workaround

- Availability of a bugfix in a new LabVIEW or driver version

 

My suggestion would be the following:

Would it be possible to provide within the NI account settings a list of modules in which you can choose the notifications for the different Modules?

 

John_Wire_1-1654263264557.png

Whenever something in the known issues has changed the NI account member would get a notification via E-Mail.

 

It would also be possible to make entire subgroups or subject areas selectable.

The technical implementation is certainly possible in different ways. Crucial is that there is the possibility of an active notification for changes in the different known issue lists.

 

Hi,

We try to connect on "EXTERNAL" opc ua server (like injection press, data acquisition systems, ..) that generate custom notifiers.

The weakness on OPC UA toolkit is that it is a closed environment.

I am able to connect the toolkit on the notifier and catch the event with actual tool, but all data of the event (plots, values, ...) are unreachable (UA expert show them).

A very simple Python code is able to retrieve these data, but there are out of the labview environment, and as it has to create a thread on the notifier, I am unable to run such structure through the Python tools in LabView.

 

Some example:

daniel_rudaz_0-1637852870896.png

A shortcut of ENGEL structure

daniel_rudaz_1-1637853101303.png

Event registration need filtering, ENGEL

daniel_rudaz_2-1637853224845.png

Event registration need filtering, Kistler COMO Neo

daniel_rudaz_3-1637853400030.png

 

Data in each event, Kistler COMO Neo

 

Thanks in advance.

Download All

When testing, the beauty of automation is, that we can do the same test on many instances just by copy & pasting the code and modify the in-/outputs. Unfortunately, the stimulus profile editor is not know for it's usability when it comes to copy & paste or even applying changes to multiple lines at once.

 

Now what would be a great addition here, would be to actually rely on the hierarchy of channels (the prime example are CAN Frames). I want to perform the same test, using different CAN Frames that contain some signals for a motor.

MotorLeft_Status/Position

MotorLeft_Status/Speed

MotorLeft_Status/ErrorBit

 

MotorRight_Status/Position

MotorRight_Status/Speed

MotorRight_Status/ErrorBit

 

To perform the same test on these signals, I'd have to call a realtime sequence with all of the above as parameters. What I want to do, is just give the Top-Level Path (MotorRight_Status and on the next call MotorLeft_Status) to the sequence and then within the sequence, read the actual signals that I need from this CAN Frame.

 

The same could be done for the physical signals of the motor if they're organised nicely.

RT time is not the same as PC time unless you:

 

1) manually set PC and RT time so the y match

2) configuring the PC and RT Linux to sync to an internet NTP time server (requires a special configuration on the RT target)

3) configuring the PC and RT Linux to sync to a NTP time server on the local LAN (requires a special configuration on the RT target)

 

Why is it important for the computer time to match or at least be within a few seconds? Because the logfile name is based off of PC time and the data timestamps are based off of RT time.  If the time between the computers don't match, confusion exists as to why there are different times.

 

A very simple solution is to sync the PXI time clock to the PC time when the Veristand project is deployed.  At least for a few days the timestamps will be within a few seconds of each other.

In a database (DBC or xml), signal could have a long name property. This property is not avaible in Xnet databse editor or in LabVIEW. That could be a probleme when several signal have the same first 32 character.

Always with Xnet, when reading signal value (or reading frame and convert frame to signals), the result is always a number. In database, some signal have a convertion table to string for a better understading

Download All

For the AK protocol (probably for any of the protocols supported by the add-on), the add-on expects numbers (represented as strings) for each returned parameter in the device response, but, if there is an error converting the string to a number, all further processing of the response is stopped and 0's are returned for their values

.

Suggestion: continue processing/parsing the remaining parameters. The final overall error code could be bit-mapped to indicate which parameter(s) has an error and use a base error-code of 0x80000 with bits 0 thru 14 to indicate which parameter(s) had the decode error and bit 15 to indicate parameter 16 or above had an error (or something like that). And the value for the parameter(s) that had the conversation error would return a globally user-defined value (for the driver) such as -999.999 so data being collected or displayed in Veristand can show the data is not available or in an error state.

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

 

All,

I'm looking at the Channel Settings area in the Configuration tab within a task...

1) Why is the tab window area locked to one size?  Shouldn't this be maximized to fit the window area available?  I've got probably 3-4x as much dead space around the window as I do actual window I can work in...   

2) Why not show the Channel Settings area as a spreadsheet type interface? 

3) Maybe have the Connection Diagram as a separate popup window when needed.

 

Thoughts?

 

Thanks,

CH

The aim here is be able able to communicate with several Ethercat slaves, and to be able to disconnect and reconnect some of them without affecting communication with orthers. 

 

 There is already a Refresh module vi which is refresh the global system state containing all slaves. The problem with this vi is as follow :

 

- Let's assume we are using 5 Ethercat slaves. If i disconnect 2 of them while program is running, it doesn't affect communication with others. Now if want to reconnect just one of the two i just disconnect (must be as the same place as before), if i use the vi refresh module, it will raise an error because labview won't find the last slave which is still not disconnected so the 4th slave reconnect won't be able to switch to operationnal mode.

 

- If we use the method node which enables to switch Ethercat slave state to operationnal mode, we will be able to switch the reconnected slave to operationnal mode and communicate again with him without an error. This method will raise an error when trying to sitch the 5th slave which is still not connected but you juste have to erase this error.

 

Now you can communicate with the 4 Ethercat slaves without error ( 3 + 1 reconnected).

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,

Hi there,

 

several years ago I wrote an instrument control package for a set of specialized lab equipment controlled from a Linux PC via GPIB (NI PCI card). The need to frequently update the kernel driver turned out to be an issue for the daily work, so we switched over to a GPIB-ENET/100, which at that time came with a lightweight 32bit interface library libgpibenet.so with very little system dependency - so it was portable between different linux systems.

Recently, I was trying to upgrade the package to a more recent 64-bit linux variant, using up-to-date drivers from NI. Unfortunately, the current offering requires me to install some 30 rpm packages including kernel drivers (causing extra problems when the kernel requires signed modules). My GPIB application now crashes in nipalau.so if kernel modules are missing - which I don't need anyway! - or some startup scripts have not been executed. Even worse: the latest packages have sadly dropped support for the GPIB-ENET/100, probably due to too much maintenance overhead, and the GPIB-ENET/1000 is now the only available package that does not required kernel support.

 

However, purchasing a GPIB-ENET/1000 as an upgrade is no option if I cannot get rid of the runtime-dependencies on unneeded software.

 

Currently, my only choices are using an outdated linux system with the full package NI package version 2017, or an even older system with the original 32bit driver library.

 

Question: would it be possible to provide a 64bit-variant of the original GPIB-ENET Linux package to gain full advantage of the very low system requirements? I could even live without the fancy graphical configuration tools...

 

Hello,

 

R&D community across the globe is moving toward FAIR Data Principles. More and more funding agencies are requiring that data created by and used for research need to be Findable, Accessible, Interoperable and Reusable (FAIR). NI already has made great strides towards metadata-rich data, such as industry-standard open source TDM/TDMS formats. 

 

The next logical step is to help NI customers to comply with FAIR Data Principles requirements. The best way to support NI customers will be the development of TDM/TDMS API for  major public data repositories, such as Harvard's dataverse.org etc. 

with NI ADCS 20.0, it's not possible to open diagnostic session on multiple LIN Slave (Open Diagnostic on LIN). Add this functionalty on next version please 🙂

 

We can currently write data to Ethercat slaves using WriteFoEData and the Industrial Communications for Ethercat driver 20.0. However we cannot read data using FoE. I would like Ni to add this capability.