Quantcast
Channel: Multifunction DAQ topics
Viewing all 6917 articles
Browse latest View live

''DAQmxBase Error 4294767076: Device identifier is invalid. Source must be on same device as channel

$
0
0

I want to use the counter channel to generate pulses and use these pulses to trigger the analog acquisition using a usb-6211 card I am using NI-DAQmx Base 15.0 with Linux Scientific. I can generate the counter pulses (see attached C code) in PFI4. I physically wired PFI4 to PFI0 and specify PFI0 as the source for the start trigger of the analog channel. I have actually tried this earlier in Matlab and works fine, but the C code over Linux gives the following error: ''DAQmxBase Error 4294767076: Device identifier is invalid. Source must be on same device as channel.''

I am not sure what this means since the source is in fact in the same device as the as the channel. Software NI Hardware:  USB-6211 device Driver Version :   daqmx base 15  Operating System:  Scientific Linux


USB-6210 RESISTANCE MEASUREMENT

$
0
0

I Want to measure the resistance of a sensor using USB-6210  ,but i am not getting the accurate result  Can you please help  me about the circuit as  i need to connect 5v as input and ground to the circuit , can i get the output of circuit by connecting it to the analog input pin ai9 

thanks

Under VI

$
0
0

HI. For more easy, I join you my VI so that you can manipulate.


I need to recover temperature and tension values at the same time. So I create 3 VI who I add in a big one. All VI works corretly, but when I gather it in the big one, they don't turn at the same time, and that brake my VI.


First VI going to create a graph, where I can see all of my thermocouples. I set a sampling frequency just for him.


Also, I want to recover some températues. Tipically, I see each secondes the températures in my graph, but i want to record every 5 secondes. So i set a new sampling frequency. It's the role of my second VI.


The last displays and records tension values, with the time, in a EXCEL file. I have the same sampling frequency for displaying and recover values.

So now, I just want my VI turns to infinity
Thank you for you answer.

 

DAQmx calibration at AIN Min/Max

$
0
0

I'm trying to perform table calibration of multiple analog channels coming from SCC modules (ANALOG1_AIN1 physical channel is SCCMod0_ai0, etc...).  When I turn off calibration and apply reference voltages at the min/max I get the following:

 

Ref, DAQmx value

-10, -10.1

0, -0.05

10, 9.98

 

When I apply those to the scaled and un-scaled inputs of the calibration (AI.ChanCal property node) I get the following error:

 

DAQmx Save Global Channel.vi:5070001<append>
<B>Property: </B>AI.Min
<B>Requested Value: </B>-10.0
<B>Maximum Value: </B> 10.0
<B>Minimum Value: </B>-9.900990
<B>Channel Name: </B>ANALOG1_AIN1
<B>Task Name: </B>ANALOG1_AIN1

 

Using the wizard produces a similar error.

 

Why is the Ain Min/max being enforced for the un-calibrated actual response?  It is what it is right?  I'm not exceeding the actual min/max (Using a calibrated HP5700A).  Calibration requires me to use a reference at the min and max yet DAQmx won't let me use those (Table mode) because the actual un-calibrated values don't fall within those limits.

 

The bug here appears to be that the AI.min and AI.max values are being 'processed' through the calibration in a race condition like fashion.

 

What's the work around?  Polynomial based cal?  Fudging the endpoints (With resulting loss of accuracy)?  Or is there some trick here that I'm not seeing (Like temporarily disabling the min/max test if that's even possible)?

 

Thanks,

 

XL600

Outputted signal's amplitude different from user inputted amplitude.

$
0
0

Hi,

 

I'm currently working on developing a system using the PCI-6110 and BNC-2110.  I'm testing my LabVIEW code by sending a simple sine-wave, but I noticed that something is multiplying the inputted amplitude by a factor of 2.  For example, the amplitude of the signal being sent from LabVIEW is 1, but the signal on the the oscilloscope is reading 2 V p-p.  Likewise, reading in a sine-wave signal with an amplitude of 1 V p-p from a function generator reads in a signal that is .5 V p-p in LabVIEW.  This holds true when using MAX instead of LabVIEW. 

 

I am assuming this is a hardware issue since it's happening when either using LabVIEW or MAX, but I'm honestly not sure and have no idea where this change in amplitude is coming from.

 

Thank you in advance,

 

Amy

National Instruments USB-6008 - Wrong input reading

$
0
0

Hi,

I am trying to use USB-6008 to read from Kistler Type 5073A charge amplifier, which is converting the charge generated by Kistler type 9317b force sensor.

 

I can directly see the signal using ManuWare software, connected via COM port to the amplifier and see that the Voltage is ~0 on all inputs.

 

Since I need to have more control of the readings and logging data. I want to be able to use Matlab. But when reading through the NI USB-6008 there is an offset on all inputs (+2 Volts). 

 

When I received the equipment there were two extra wires connected to the DAQ to the Amplifier. Which I have disconnected. Is it possible that they were used to 'synchronize' the ground on the DAQ and the Amplifier?

signal generation with DAQ

$
0
0

Hi all, many posts talk about the possibility of signal generation by using a multifunctional DAQ, but it is not yet very clear to me. Just to fix ideas, refer to a generic mDAQ (6363 for example, I have not it, but I will :-)) if I want to generate a simple sine wave, what is the max frequency it can generate? 10k? 100K? 1MHz? Thank you !

 

Cannot read back the output from an analog output channel

$
0
0

Hi!

 

I'm controlling an analog output module on my National Instruments PXIe-4322 card using the NI-DAQmx C API.

 

I want to be able to read back the output from a previously set output channel. From what I was able to find in the forums, one can use internal channels like "_ao0_vs_aognd" and add these as an analog input channel. Unfortunately, the PXIe-4322 card does not support this. (i.e. the internal channels don't exist)

 

I am therefore looking for a way to access the last set value which should still be in the memory of the card. This should be approximate to the actual value being outputted but this is good enough for my application.

 

How can I read the last-set value of an Analog Output channel using the NI-DAQmx C API?

 

Thanks and best regards

Laurens


Using PFI to Trigger an Analog Output Generation

$
0
0

Hi all,

 

I'm using USB-6003 with Python and I have an issue when trying to use PFI to trigger an analog output generation. Please note that Analog I/O, Digital I/O and PFI to Trigger an Analog Input Acquisition works just fine. But for some reason this analog output generation is not working. The problem is that an analog output task won't wait for an edge on PFI 0 or PFI 1 before starting the acquisition. There were no errors printed out when I executed the python macro.

 

Please find the functions related to it. First I call "trigger analog output" and then "write analog io trigger" function.

    daq = NiDAQlib.trigger_analog_output('{}/{}'.format(self.dev, port), edge_selection)
    data = NiDAQlib.write_analog_io_trigger(daq, value)
   

def trigger_analog_output(devport, edge_selection):
    max_num_samples = 2
    task = Task()
    task.CreateAOVoltageChan(devport, '', -10.0, 10.0, DAQmx_Val_Volts, None)
    task.CfgSampClkTiming('', float64(100), DAQmx_Val_Rising,
    task.CfgOutputBuffer(2)
    task.CfgDigEdgeStartTrig("/Dev2/PFI0", DAQmx_Val_Rising)
    return task

 

def write_analog_io_trigger(taskhandle, value, intimeout=10000):
    samples = 2
    datatype = float64*samples
    data = datatype() 
    for i in range(samples):
         data[i] = float(value)
   
    timeout = float64(intimeout)
    taskhandle.WriteAnalogF64(2, False, timeout, DAQmx_Val_GroupByChannel,    data, int32(), None)
    taskhandle.StartTask()
    return data

 

Any hints are welcome!

 

Thanks and regards,

Antti

Temps aquisition Module NI 9205

$
0
0

Bonjour,

Je suis en train de configurer un châssis Compact RIO  et je dois utiliser un module NI 9205.

Dans la datasheet du module NI9205 est indiqué que le temps de conversion est de 4 Usec.

Pouvez vous me confirmer que le temps d'acquisition pour les 32 voies sera de 32 * 4 Usec = 128 Usec.

Hour in graph

$
0
0

Hello,

I have the values that I send in a chart, but in the table I read the number of values retrieved. I want to display the time in my chart instead. How do I do this?


Thank you for your reply.

 

 

Simulating output of SSI absolute encoder

$
0
0

Hello. 

I need help to generate code to simulate SSI absolute encoder. I found a lot of examples how to read encoder, but I need inverse of it.

The DUT will generate clock, and it requires input from encoder. I am trying to use labview to generate data to simulate encoder and send it to DUT.

I was going to use USB DAQ 6343

Should I just connect clock to PHI IO and use it as an internal clock to send binary data using digital output pin?

 

THank you for any help. 

How to synchronize a PXIe 6356 card usind a PXI 1042q chassis with 10 MHz external clock

$
0
0

Hi,

 

here the problem, I have a PXIe 6356 card mounted on a PXI 1042q chassis. On the REf in of the PXI chassis I have routed in a REF 10 MHz that comes from an atomic clock. 

 

I have to use 6 AI of the 6356 and I would like to know how I can be sure that the time base used by the card is the REF 10 MHz I routed in. From the manual seems the 6356 can Phase locked only to 100 MHz. Can I use as time base for my acquisition an external 10 MHz ?

 

Thank you in advance for your help,

 

Cola

 

Measuring the pressure using (Honeywell PX2EN1XX150PSCHX, pressure transducer) using NI-USB 6001

$
0
0

Hi LabVIEW help team! 

 

I don't have much experience, how to connect the Honeywell transducers with LabVIEW using NI-USB-6001. I have gone through the specifications of Honeywell transducer (PX2EN1xx150PSCHX) and NI-USB_6001. 

 

Honeywell transducers range of voltage is (+/-16V). 

Does someone has already worked on it? Can anyone please guide me little how to make connections? I know that voltage supplier for pressure transducer will be needed. Would there be any other hardware needed? 

 

I will greatly appreciate any help! 

 

Thanks, 

Sandy 

 

Power up first time

$
0
0

I have ni-usb-6255. I want to power it up for first time. There is no power requirements mentioned in specs. So I am confused ? should I use 220v or 110v ac, how can I know?

If the device required 120v ac , can I use 110v ac instead?


Measurement & automation explorer. Test panel for simulated device won't launch

$
0
0

Hi.

I want to launch a test panel for a simulated device (USB-6008) on Measurement & Automation explorer (max). But when I select the simulated device and click "test panel", then nothing happens. No test panel appears. What is wrong?

USB-6009 analog output rate

$
0
0

I want to set the output rate of two output channels of NIDAQ 6009 in MATLAB. codes followed:

"

s1 = daq.createSession('ni');

s2 = daq.createSession('ni');

addAnalogOutputChannel(s1,'Dev1','ao0','Voltage');

addAnalogOutputChannel(s2,'Dev1','ao1','Voltage');

s1.Rate = 900;

s2.Rate = 900;"

but there is always an error at 's1.Rate = 900;'

error is 'Rate cannot exceed 0 in the current configuration.'

Is the output rate is fixed for DAQ 6009 or there is something wrong with codes?

Thank you for answering my question

Regards

Xiaoran

 

 

NI PCI 5105 Resolution behaviour

$
0
0

Hello,

I am using a PCI 5105 to acquire AC signals that correspond to currents. The acquisition is within ±15V (30 volts) range at 60MHz. Thus, the resolution I'm working with is 30/4096 = 7.32mV, as the 5105 has 12 bits of resolution. Searching the forum, I found that the actual resolution is a little bit higher than this value, around 9mV, which is not really a problem.

The problem is that this value means a significant amount of current, so what I need to know is what happens between two LSB's. What I mean is: when the signal is, for example, 6mV above the last bit that is set to 1, does the output holds the previous value or it has a chance of setting the next bit to 1? Also, if my signal is decreasing, and it decreases 4 or 5mV, the mostright bit is set to 0 or it stays at 1 until the signal decreases the 9mV step?

In short, if a input signal increases less than the resolution step, what happens at the output? And what happens when it's decreasing?

PS: I can't work with a lower voltage range or sampling frequency, so decreasing the step is not an option.

Thanks in advance,

Miguel.

Sampling/writing at high rates

$
0
0

I'm using an NI 6259 and writing a real-time C application on Linux (NI-DAQmx Base 15.0 for Linux) to sample a single AI signal, do a computation, and send an AO signal based on the result of that computation. We had been running at 1024Hz without much problem, but recently we have been trying to increase our rate to 2048Hz and even 4096Hz. We had been simply calling DAQmxBaseReadAnalogF64() and DAQmxBaseWriteAnalogF64() without modifying anything using DAQmxBaseCfgSampleClkTiming to run at 1024Hz. However, I thought that in order to run at a higher rate, I should use DAQmxBaseCfgSampleClkTiming using "OnboardClock," sample rate of 2048/4096, and DAQmx_Val_ContSamps. However, I start missing deadlines while running at 4096 Hz. My question is whether I'm just approaching the limit of what is achievable or whether there is something I'm doing wrong/not doing that would enable me to read/write at a higher rate.

 

On a related note, I wanted to try DAQmx_Val_HWTimedSinglePoint, but my compiler didn't know what that was. Has that been phased out?

 

One more question: How does the buffer work? I initially set my "sample rate" to 10000. I figured that running my sampling at a higher rate than my actual program wouldn't hurt anything. However, I noticed that at some point every call to DAQmxBaseReadAnalogF64() returned the same value. I'm assuming I filled up my buffer? How can I remedy this?

PCI-6281 downgrade

$
0
0

I have a mechanical system using NI PCI-6281 DAQ, and need to duplicate it for expansion. I only need one A/O channel to generate waveforms in the frequency range of 1 to 200 Hz, and up to 4 differential A/I channels. For the maximum working frequency of 200 Hz, I believe the sampling rate at 2000 samples/second would be sufficient. 

 

Considering the cost of PCI-6281 at ~$2100, I would like to replace the card with the options of PCIE-6321 at ~$700 or PCIE-6323 at ~$1000, or even Advantech PCIE-1816 at ~$700. So my questions are:

1. Do I need to re-do the control program developed under LabView, or simply re-configure the channels for the replacement cards?

2. Should I expect any incompatibility issues considering the working frequency range, different slots (i.e. PCI vs. PCIE), etc.? 

3. Any better replacement options?

 

Thanks for your input!!

 

 

Viewing all 6917 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>