Data Acquisition Idea Exchange

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

When I drop a DAQmx Task constant on my LabVIEW block diagram, I have the right-click menu option to Generate Code >>Configuration 

 

This scripts out a sub.vi that creates the Task by adding each channel with channel specific properties sequentially, one channel at a time, to repeated calls of DAQmx Configure Channel.vi.

 

I have a hard time saving that vi output!  I have not really learned how to name it properly without Using:  "BLEEP_BLEEP_BLEEP_Configuration_that_cannot_be BLEEPING_scaled.vi"

 

I believe that an autoindexing loop would be much nicer.

 

My grandmother thanks you for improving my manner of speach.

The current FlexLogger implementation requires you to connect DAQ output channels to input channels and an additional XNET port to log output CAN signals, which adds to the cost of the DAQ setup/limits the amount of DAQ/chassis.

Current implementation is that FlexLogger ignores the default values as configured in the CAN database.

 

As a bonus, use the default value, max/min values for the control that points to a transmitted signal in the CAN database.

Very annoying this isn't possible in FlexLogger (or VeriStand)

Why is there no way to determine Trigger Status in NI-Scope? 

 

No, "Acquisition Status" is NOT the same thing. As Acquisition Status only tells you if acquisition is complete. I suppose you could say if it's not complete then it is still waiting for trigger, but you could be wrong. Specially in the case of a slow acquisition (seconds/div).

 

Any modern DSO I have used had a VI to determine Trigger Status and would return several states.

 

Such as:

Stopped

Ready, Armed, or Waiting (pre-trigger acquisition complete, ready and waiting for trigger) 

Pre-trigger (pre-trigger acquisition in process)

Triggered (post trigger acquisition in progress)

 

当我使用网络流将数据从CRIO传输到PC时,程序正常运行几秒钟后,它提示我断开与CRIO终端的连接。此时FPGA的采样时间为1 uSec。当我将采样时间增加到大于 1 uSec 时,程序运行良好。也就是说,当程序的采样率低于1MS/S时,程序可以正常运行,当采样率等于1MS/S时,程序就会出错。是不是因为队列和网络流写得太慢了?请帮帮我,谢谢。

QQ图片20220412152952.png

dear

attached picture for universal test machine

it is seemingly that this machine cannot be interfaced to computer 

we need this interface to visualized data

so can you suggest or guide me any DAQ or controller to override such problem

 

 

Download All

Attempting to add a channel (Ch8) to an existing task which already uses that channel as a result of having already assigned its paired differential channel (Ch0) results in that channel correctly not being added to the task but also does not generate a warning or error.  Thus when attempting to configure a task with 2 channels as Ch0 differential and Ch8 RSE, the resulting task only contains 1 channel.  This may be not be apparent because the channels 0 and 8 appear as different from each other.  Having a warning could give notification of this fact. 

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019KxoSAE&l=en-US

 

I'd like to expose an opportunity to make FlexLogger easier to use around shunt calibration. With various internal shunt calibration resistors between different hardware, is there a way that the software would know the appropriate location and resistance value when performing a shunt calibration? It is tedious, and a possible point of error, having to manually enter, for example, the correct shunt resistor between using our 9236 cards and the strain based FieldDAQ units.

The use of NI DAQmx Global Virtual Channels is the best way that I have found to configure and manage parameter scaling to provide measurement data directly in engineering units. The software architecture of our data acquisition applications is centered around the use of Global Channels (aka Virtual Channels). Configuring Global Channels using NI MAX (Measurement & Automation Explorer) is convenient for a small number of measurement channels. However, in system configurations with hundreds of channels, to create and manage them effectively, you need to build your own application for this task.  We have built custom Global Channel creation VIs in LabVIEW for each type of analog input or sensor type that we use. These VIs are designed to read a configuration table in CSV format, and then loop through creating a Global Channel for each table row of information.  This process allows for more flexibility in naming the channels as well as setting different scaling and storage of other channel-specific metadata.

 

We employ multiple networked data acquisition systems with Linux-based NI controllers, and we manage those DAQmx Global Channels across our network.  Currently, to create DAQmx Global Channels on these systems, we must directly connect to the NI controller in the LabVIEW Project View and run our suite of Global Channel creation apps on that particular controller using their accompanying, locally-stored CSV configuration file.  Currently, our networked distributed data acquisition system has grown to 10 controllers, each with their own set of common I/O.  The creation of those Global Channels has now become cumbersome because we have five I/O types to manage and hence five custom LabVIEW applications each with a specific configuration file to run on 10 controllers individually.

 

A potential simplification to the process would be to run our custom LabVIEW applications on a Windows host PC and create the DAQmx Global Channels remotely.  That would eliminate the need to directly connect to each controller from the LabVIEW Project View and copy a common set of config files to each controller and run the same applications on individually on each controller.  However, the current version of DAQmx makes no provision for remotely creating DAQmx Global Channels.  Note that NI-MAX is able to create DAQmx Global Channels remotely, but this functionality is not exposed for LabVIEW programmers to utilize.  My idea/suggestion is that NI make this functionality available in LabVIEW.

While using NI USB-6008/6009, I am encountering a strange error which I have failed to find the source of it. As you can see, there are 2 types of outputs. When I comment out one of the outputs, other one works fine. However, when I use them both, it gives me an error as shown below in the picture. What could be the problem?
Error : Invalid data format for digital channel
However, error direct to analog output.Error.JPG

There's no option to cancel changes made to a channel in FlexLogger. If I edit or change a series of parameters, but want to revert to the previous settings, there is no option to do so. I then need to re-enter what was there (and hope I don't forget what it was), or mash Ctrl+Z and hope I undo the correct number of steps.

 

MichaelBalzer_0-1620804223622.png

 

(Also pressing Esc on this window should perform a cancel operation and close the window).

We own mutliple cDAQ chassis: some with integrated controllers (913x) and some without (9188, 9189).

 

Sometimes all chassis without integrated controllers are used, and only chassis with integrated controllers are available.

 

In such cases, it would be nice to use a chassis with integrated controller just as normal cDAQ Ethernet chassis.

 

Maybe NI could make that possible by a upgrading the 913x Firmware?

Hello,

 

NI should provide input for DAQmx Create Virtual Channel.vi to set default value for output channel after task starts.

Also, Provide default value in NI-MAX task configuration panel.

 

BR & Stay Healthy, 

It would be great if NI offered something similar to the PLC world in the form of expandable IP20 I/O slices that don't require a chassis. It could offer the same kind of functionality in the modules that the CompactDAQ line offers, but without the need to lock into a chassis. I've found myself leaning towards using PLC I/O for some projects where the end-state is a bit murky, but the programming gets really awkward when using third-party APIs like PVI.

The interface to the PC could be similar to that of a cDAQ chassis: USB or Ethernet. Given the applications of most slice I/O users, 24 VDC would be the preferred way to power such a system.

NI offers some Oscilloscope Devices (see here) but they come with PCI or USB interface only.

These interfaces are good enough for a laboratory device, but they have some limitations if you want to use it in a custom product.

 

I think that an ethernet interface would be a great improvement (it allows a longer cable and it's much more flexible).

On our 845X user manual (http://www.ni.com/pdf/manuals/371746e.pdf ), most of the the minimum timeout can be set to 1000 ms (1 sec). We hope that this timeout can be set to even smaller, less than 1 sec.

Or perhaps there is a workaround to further reduce timeout on 8451?

Howdy!

 

I am trying to use a data acquisition system using python. There are thermocouple  modules and voltage modules that I would like to read from. It is set up and ran in 2013 LabVIEW and I am trying to put the test system into python for easy changing of the test and user control. 

 

I am wondering if the NI-DAQmx python library is kept up-to-date and if this is possible. I have been doing a lot of nitty gritty reading through the documentation on this library because there are not many examples of data collection using python to talk to the NI sensors. After trial and error attempts I have gone back to the basics to try and see if I can even change settings in the configuration of thermocouple channels. All I am trying to do is to take measurements from the thermocouple and I am changing the units from Fahrenheit to Celsius in separate runs. I can't even get this to work, even looking at example of this from Stackoverflow and the documentation where it specifically says how to configure the thermocouple channel (https://nidaqmx-python.readthedocs.io/en/latest/ai_channel.html and Ctrl-F to find thermocouples). 

 

Here is a snippet of the code I'm writing:

try:
    with ni.Task() as task:
        
        #Add the thermocouple channels to read from NI-9214's
        task.ai_channels.add_ai_thrmcpl_chan("cDAQ1Mod1/ai0:11", name_to_assign_to_channel='',
                                             min_val=0.0, max_val=100.0, units=ni.constants.TemperatureUnits.DEG_F, 
                                             thermocouple_type=ni.constants.ThermocoupleType.T)
        task.ai_channels.add_ai_thrmcpl_chan("cDAQ1Mod2/ai0:7", name_to_assign_to_channel='',
                                             min_val=0.0, max_val=100.0, units=ni.constants.TemperatureUnits.DEG_F,
                                             thermocouple_type=ni.constants.ThermocoupleType.T)
        
        #Set the thermocouple type to T
        #task.ai_thrmcpl_type = ThermocoupleType.T
        
        #Add the voltage channels to read from NI 9209
        task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai0:7")
        task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai9:12")
        task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai19:27")
        task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai29:31")
        
        #Set the rate of the Sample Clock and samples to aquire
        task.timing.cfg_samp_clk_timing(rate=Hz, sample_mode=AcquisitionType.CONTINUOUS)
        
        #Set the ADC Timing Mode to speed up the collection
        #task.ai_channels.ai_adc_timing_mode =  ADCTimingMode.HIGH_SPEED 
        task.ai_channels.ai_adc_timing_mode = ADCTimingMode.AUTOMATIC

 

This is a little frustrating to filter through the problems because there is not much out there that has the python use for help. If you search in the documentation search, the links of the results that you can click on are broken so that is another pitfall to this method.

 

Any help is greatly appreciated but I am curious if NI will keep the python library updated and running for future use.

 

NI-DAQmx python documentation: https://nidaqmx-python.readthedocs.io/en/latest/index.html 

Stackoverflow example help: https://stackoverflow.com/questions/47479913/python-nidaqmx-to-read-k-thermocouple-value

Thermocouple example: https://www.youtube.com/watch?v=NMMRbPvkzFs

I miss the possibility to select Global Virtual Channels defined in MAX into my Flexlogger project.

It is a lot faster to setup a measurement project for systems that don't change the connected sensors so often. 

Please add support for this.