0到40mv输出,误差不大于0.05mV, 这个有什么好的办法实现
请教各位老师 模拟量输出问题。
Delaying a trigger by microseconds
Note that I am very new to Labview and "playing" with signals in general.
My aim is to delay a daqmx trigger. The delay will be in the order of microseconds. So essentially the Daq card receives a signal, waits for 2 microseconds then does something.
I have windows 10 running.
I have two Daq cards installed:
PCI-5105: 8 channel, 12 bit, 60Mhz Bandwidth, PCI Oscilloscope Device
PCI-6110: 4 AI (12 bit, 5 MS/s/ch), 2 AO, 8 DIO, PCI Multifunction I/O Device
I wish to do this via software delay using the "Start.DelayUnits" on the DAQmx Timing.vi.
Is this possible? From what I have seen from earlier posts (2005, 2007, etc...) this was not possible due to the OS.
If this is not possible then can someone please explain why?
Furthermore, what would be a way to add such a delay?
If it is not possible via this method
Voltage output module
I want to know if it is possible to obtain +20 volts from a DAQ (https://www.ni.com/en-us/support/model.ni-9264.html) that delivers +-10 Volts. If it is possible, how this could be achieved?
USB-6366 取込遅延時間について
NI-9203 Connector Vendor Part Number
Trying to develop a breakout board for the NI-9203 C series module and was wondering if anyone has the vendor part number for the mating connector. Or maybe a PCB mount connector that would mate to the NI-9203 connector.
drivers
Que controladores suplen en mac al NI DAQMx de windows?
如何使用PCI 6154采集卡实现生产消费者模式
最近在研究用PCI6154进行信号采集,并对采集后数据进行进一步处理。这种问题一般应仿照生产消费者模式进行设计,但应用labview不知应如何达到生产消费者模式的效果,所以请问有没有大神可以指点一下哈。
此外,我编写了一个采集处理程序,如附件中程序,但是执行的过程中,发生错误200279。推测在处理过程中,mDAQ软件正在处理数据,但是PCI6154仍在采集数据,造成程序错误。请问有没有办法让采集卡硬件在单次采样过后暂停,等待处理程序执行完再重新开始采集过程?求大神解答呀。
How to use PCI6154 to do data acquisition and processing with the producer and consumer mode?
I use PCI 6154 to do data acquisition and processing. However, I got error 200279 that is showed by the following figure with the program in the attachment. I think the PCI6154 acquised data continously and the former data processing loop didn't accomplished. The data block the hardware and can't receive the PC.
How do I do data acquisition and processing sequentially and the data acquired by PCI6154 after the processing accomplished, which seems like the producer and consumer mode? Please give me some tips to do this.
NI cDAQ-9172, Error code 200631 at random interval
Problem: When reading analogue input, DAQ generate error code 200631 at random intervals.
Setting/Known:
- One while loop only for reading analogue input. Reading 4 channels, set at continuous sampling at 50Hz, reading 25 samples/loop. Using this loop to generate "occurrence" to act as a master timing to trigger other loops.
- Another while loop only for digital and analogue output. "Wait for occurrence" with 2000 msec timeout and default value.
- Another separate loop to take care of all the calculations. "Wait for occurrence" with 2000 msec timeout
- No CPU intensive program running. Check when running normally, CPU usage is only 4%.
- Have use "DAQmx property node" to read "CurrReadPos" and "TotalSampPerChanAcquired" to see if there is any delay. The loop prior to the error occurred shows two numbers are exact match
- After error occurred, this "DAQmx property node" will give an error (Did not capture screenshot, something like task is not available)
Method tried:
- After error occurred, it CANNOT be solved using following method:
- Stop and restart program. (Generate same error.)
- go to NI-MAX, self-test. (Shows that it is complete without issue but still generate same error.)
- go toNI-MAX, reset. (Shows that it is complete without issue but still generate same error.)
- Unplug and reconnect USB.
- After trying all above methods, "DAQmx task" is still there, does not show abnormality but cannot "Run"/read.
- Location of error (even after tried all methods above):
- Only way known now is to manually power off cDAQ, and power back on.
NI-9210 input channel TC1 not functioning?
I have an NI-9210 thermocouple 4 ch DAQ module inserted into a cDAQ-9171 chassis and channel TC1 does not seem to be working. I can insert thermocouples in to TC0, TC2, and TC3 and test in Measurement & Automation Explorer and they all output and respond correctly. I can then move one of the working thermocouples to channel TC1 and I get a temperature output around 2382 that slowly drifts in one direction. I have all settings set identical to other inputs that work fine. For these tests, I set the CJC source to build-in. The output on TC1 seems to be related to this CJC value. When I set the CJC source to constant I get a constant output near 2380. When I change the measurement type to voltage I get a constant voltage output. It's like my TC1 is shorted or otherwise defective.
Is my channel TC1 broken or do I have a setting wrong?
Thanks.
CDAQ Chassis connector
Hi, Kindly explain the CDAQ chassis 15 pin connector with complete pinouts and its functions
Thanks
Akbar Hussain
PCI-6115 card to long
I have an old PCI-6115 card I want to still use. The computer it is in will not support Windows 10 and we have to upgrade. I need a new computer that can take the 12.3 inch long PCI card and I have not found one yet. Anyone know of one that can handle this old long card?
Thorlabs galvanometer Setup with PCIe DAQ card
I know there have been several posts about people trying to connect their thorlabs galvanometer mirrors to a DAQ card. Even after reading those and some engineering theses, I am still struggling to get the galvanometer to work properly. If anyone has any advice or tutorials to recommend, I am all ears.
Some insight into my project:
I'm building a laser scanning confocal fluorescent microscope for single crystals. The labview program I am using is from here: http://cpc.cs.qub.ac.uk/summaries/AEWG_v1_0.html
Modify programmaticaly a physical channel in a task
Hi,
I'm looking for a way to modify the physical channel of a task.
I already tried this but got an error...
Does anybody has an idea how to implement this correctly?
The goal is to have a preconfigured task with many channels where I can change some physical channels if needed.
Thanks for any help.
Yves
Find Systems.vi doesn't list any of my cDAQ 9189 chassis in detected systems.
Hi there,
I was wondering if any one of you have an issue with Find Systems.VI (under system configuration) that it doesn't list any online cDAQ chassis for some computers. I'm having this bizarre issue that Find systems.vi list online systems on one computer and not the another.
Please advise if there are some windows settings needs to be done for this. Any help will very much be appreciated. Thanks!
Regards,
Jatin
Por que DAQmx (DAQ assitant)se queda inicializando y nunca abre?
Hola comunidad.
Tengo un inconveniente con el bloque Daqmx assitant,sucede que nunca abre ,aparece una barra de carga que se queda congelada(OBSERVA LA IMAGEN).
Ya lo des-instale e instale varias veces pero tampoco funciona ,que debo hacer, agredecería bastante su ayuda
Advice on capturing signals from a commerical exercise bike?
Hi everyone,
I am planning a research study and wanting to use the exercise bike below to measure changes in performance due to an intervention and fatige over time.
The bike has a single 3.5mm mono audio connector that attaches to the LCD on the top of the bike that displays all sorts of data, such as power (W), cadence (rpm), distance (m), etc... I have recorded the signal in labview and it appears to be a continuous waveform with the peak and valley of the signal matching with lever arm end points (with reference to the left lever arm: when moving forward the signal amplitude increases positively over time; when moving backward the signal amplitude decreases over time)... There are no puluses or spikes, just a type of sine wave that increases in frequency as the lever arms move faster..
Based on this, would it be safe to say the signal is being generated from a position sensor in the flywheel? Not a rotorary encoder? Is it possble to tell the difference based on signal characteristics?
Also, I would like to get a direct measurement of force production... I am thinking of adding a tension/compression strain guage to the connector rod at the bottom of the bike between the lever arms and pedals... Any suggestions for what to use for this? Are "bolt on" strain guages any good?
Any feedback or comments appreciated...
Many thanks.
Jack
USB-6009怎样配置
导师提供了一个USB-6009,我们的实验课题是“基于虚拟仪器的多参数生理信号检测系统”,我要怎样配置数据采集卡,急需大佬们指教,谢谢!
2019 Labview Base edition and DAQ USB 6501
Hi,
I want to use USB 6501 DAQ for a small project. My question is that If I use 2019 Labview Base edition, would I be able to write a program to turn ON/OFF I/O lines of USB 6501? or do I have to buy Labview Full edition to this job?
appreciate your replies!!!
Thanks
Acquire short pulses at fast repetitions using NI-6361
Dear All. Currently I'm using the library nidaqmx for python 3.7.4 (Windows 10) in order to acquire a single analog input channel using an external trigger. I want to acquire short pulses of data (1000 samples) at high sampling frequency (2 MS/s) and with "fast" repetitions (for example with a period of 20 ms). Please see the following diagram:
The signal on channel 1 is the trigger signal. I want to perform the acquisition on the FALLING edge. The signal on channel 2 is the analog input and I want to acquire just the portion inside the red rectangle.
So far I have been able to achieve a smooth acquisition but only for t1 larger than 60 ms using the reference trigger function and a stream reader inside a loop for acquisitions with t2 of 0.5 ms. Please see my Python code attached:
import nidaqmx import nidaqmx.constants as cst import matplotlib.pyplot as plt import numpy as np from nidaqmx.stream_readers import AnalogSingleChannelReader import warnings warnings.filterwarnings("ignore") # Ignore all warnings sample_time = 0.0005 # units = seconds s_freq = 2000000 num_samples = int(sample_time*s_freq) dt = 1/s_freq diffTerminal = cst.TerminalConfiguration.RSE Volts = cst.VoltageUnits.VOLTS sampleMode = cst.AcquisitionType.FINITE maxValue = 5 minValue = -5 task = nidaqmx.Task() task.ai_channels.add_ai_voltage_chan("Dev1/ai0",name_to_assign_to_channel="mySignal", terminal_config=diffTerminal, max_val=maxValue, min_val=minValue, units = Volts) task.timing.cfg_samp_clk_timing(s_freq, sample_mode=sampleMode, samps_per_chan=num_samples) task.ai_channels.ai_impedance = cst.Impedance1.FIFTY_OHMS task.triggers.reference_trigger.cfg_dig_edge_ref_trig("PFI0",pretrigger_samples=100,trigger_edge=cst.Edge.FALLING) data = np.zeros((num_samples,), dtype=np.float64) comulativeData = np.empty((24*num_samples,0)) reader = AnalogSingleChannelReader(task.in_stream) print('Wainting for trigger') for ii in range(0,24): reader.read_many_sample(data, number_of_samples_per_channel=num_samples,timeout=30) comulativeData = np.append(comulativeData,data) print('Acquisition Finished') plt.figure() plt.plot(comulativeData) plt.show() task.stop() task.close()
I'm not an expert in data acquisition systems but I believe that want I want to do is not extremely difficult so probably I'm doing something wrong. At the time I'm acquiring pretrigger samples but that's not a mandatory requirement. I've tried using pause triggers but with no luck.
Ideally I would only call a read function every 24 pulses because after 24 pulses I have a large stop time in the analog signal. Can you help me speed up this process? If necessary I can change the programming language to C or Matlab.
Thank you in advance,