I am running some old Windows XP systems and need to replace the current PCI-DIO-32HS card. I don't have access to the program code that I am using, so I need a command compatible replacement. Any idea which current board would best meet my needs? Or am I out to lunch?
I need to replace a PCI-DIO-32HS with a command compatible new DIO card. What is my best choice?
Can I use the C interface routines of a USB-6501 with a Raspberry Pi?
I have a USB-6501 that I have used with my own C code in Windows. I would like to port that code to run on a (Raspbian) Raspberry Pi, but I can't seem to find any driver sets that will work. I found a demo program from a few years ago that can run on a Pi, but nothing I can use with my own code.
Are there any drivers? Or is there a way to get the driver library compiled for a Pi? I have another (non-NI) piece of USB hardware for which I was able to recompile the driver library on the Pi, and it is working fine.
Individually access inputs and outputs on single port (PXI-6509
Hi,
I'm using PXI-6509 and this sentence from the manual:
"You can use each of the DIO lines as a static digital input (DI) or digital output (DO) line,"
leads me to believe that each individual DIO can be set as input or output (even within ports), but theimage:
shows that these ports cannot be set as inputs and outputs within the same port.
On another card 6284, with DIO's, I can set them individually.
Can someone confirm that the 6509 is acting correctly?
Best Regards,
Adrian
Saving data from daq at iterations
I am doing some testing on some materials. my setup cycles a relay to change a solenoid valve and im monitoring the pressure over time with a pressure sensor. Id like to save this data say every 5 min so im not constantly processing and saving. I dont know what the best approach is or what will work best.
Im trying write to measurement file but cant get it to work the way id like it to. any help is appreciated
to use this vi you will need the drivers/libraries for my relay and daq, which are too large to load so I have attached links. otherwise another vi just simulating a signal could carry out the same function
http://www.phidgets.com/docs/Language_-_LabVIEW#Quick_Downloads
http://www.mccdaq.com/daq-software/universal-library-extensions-lv.aspx
editing beginner
Does anybody know the best place to Post beginner questions? About editing the first schema for me to make?
I can draw lines, at one side it is sticking to the PIN. But i can not attach the other side of the wire, snapped on, to the PIN on the other side. See... :-)
Greets,
Wouter van Wegen
It will only take 2 minutes of your time.
RF communication receiver with Rio
Hi
I try to acquire data from RF reciever with use sbrio 9636 but i did not acquire datafrom RF reciver .How to acquire data from RF receiver. I use RWS-434N-6_433.92MHz_ASK_RF_Receiver and transmitterTWS-BS-3 pls help me...
Thank you.
NI-USB 6501 FREEZES
Hi I'm using a USB 6501 but, I have a problem after a time maybe 2 or 3 days it freezes I'm observing a part present sensor that it the 6501 freezes I can't detect the change of 0 to 1, I use the NI MAX and reset my device and all works perfect and other 3 days, something know how I add to my source code the reset instruction like NI MAX?
I think so that, maybe if I add one routine to reset the device USB-6501 each setup in my equipment I can resolve the issue, I try to the USB port configuration and the problem was again.
Than you
NI-6581 FlexRIO digital IO adapter module: can each I/O terminal be individually controlled?
I'm planning to get a NI-6581 adapter module for the FlexRIO FPGA card. I understand that each 8-bit data port can be configured as either input or output, however I'm wondering if it is possible to write (or read) different values to each terminals in a port (for example, writing 10101101 instead of just all 0 or all 1 to Port 0)? More specifically, for my application I'd like to have five ports (40 terminals) as output and one port (8 terminals) as input; and to control each terminal individually (data wise not direction wise). Is it doable with 6581? If yes, is there any example vi showing how to do that?
Thanks,
Bing
usb-6009
Hello guys,
I'm new to DAQmx base and have some doubts.
First of all I'm running Scientific Linux 6.7, DAQmx base 14.0, Eclipe IDE and USB-6009 device.
Device communication is ok and my program is copiling and running.
My program has two tasks, each one with a DO channel.
The problem is that when a write data to the DO channel of one task the DO channel of the other task is also being affected.
Best regards,
Fernando
Follows my code:
#include <NIDAQmxBase.h>
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
#define DAQmxErrChk(functionCall) { if( DAQmxFailed(error=(functionCall)) ) { goto Error; } }
int main (int argc, char *argv[])
{
// Task parameters
int32 error = 0;
TaskHandle DO_task = 0;
TaskHandle DO_data_task = 0;
char errBuff[2048];
// Channel parameters
const char DO_led[] = "Dev1/port0/line2";
const char DO_data[] = "Dev1/port0/line1";
// Read parameters
uInt32 data [1];
int32 byte_conter;
// Create Digital Input (DO) Task and Channel
DAQmxErrChk (DAQmxBaseCreateTask ("", &DO_task));
DAQmxErrChk (DAQmxBaseCreateDOChan(DO_task,DO_led,"",DAQmx_Val_ChanForAllLines));
// Start Task (configure port)
DAQmxErrChk (DAQmxBaseStartTask (DO_task));
// Create Digital Input (DO) Task and Channel
DAQmxErrChk (DAQmxBaseCreateTask ("", &DO_data_task));
DAQmxErrChk (DAQmxBaseCreateDOChan(DO_data_task,DO_data,"",DAQmx_Val_ChanForAllLines));
// Start Task (configure port)
DAQmxErrChk (DAQmxBaseStartTask (DO_data_task));
// write to port
data[0]=0xFF;
//DAQmxErrChk (DAQmxBaseWriteDigitalU32(DO_data_task,1,1,10.0,DAQmx_Val_GroupByChannel,data,& byte_conter,NULL));
DAQmxErrChk(DAQmxBaseWriteDigitalScalarU32 (DO_data_task, 1, 10.0, 0xFFFF, NULL));
// write to port
data[0]=0x0;
//DAQmxErrChk (DAQmxBaseWriteDigitalU32(DO_task,1,1,10.0,DAQmx_Val_GroupByChannel,data,&byte_ conter,NULL));
DAQmxErrChk(DAQmxBaseWriteDigitalScalarU32 (DO_task, 1, 10.0, 0x0000, NULL));
Error:
if (DAQmxFailed (error))
DAQmxBaseGetExtendedErrorInfo (errBuff, 2048);
if (DI_task != 0)
{
DAQmxBaseStopTask (DI_task);
DAQmxBaseClearTask (DI_task);
}
if (error)
printf ("DAQmxBase Error %ld: %s\n", error, errBuff);
return 0;
}
Problem with PCI-NI 6229, delay one channel respect to the other and synchronize with an external clock.
Hi everyone,
I want to control two acusto-optic deflectors (AOD) in order to move a laser beam into a plane. I am using a PCI NI 6229 and two SCB-68 M series boxes:
- Each acusto-optic deflector deflects de laser beam in one axis, reason for which I use two deflectors, one for the X channel and the other for the Y channel.
- The RF generator receives a digital order, 8 bits are controlling the amplitude, 15 bits are controlling the frequency (the position of the laser beam) and one additional bit is set always at 1.
Then, since the PCI NI 6229 has 3 ports with 32, 8 and 8 bits respectively, I use the 32 bits port for controlling the position and the two 8-bit ports to control the amplitude.
-port0/lines0:29 --> modulation of the position --> 0:14 (X channel) and 15:29 (Y channel)
-port0/lines30:31 --> bits of control, always at 1.
-port1 --> aplitude of X channel
-port2 --> amplitude of Y channel.
Then, what I want to do is to move the laser beam using a harware clock of the same PCI at 100 KHz. But I want to separate the channel X from the channel Y in order to put a delay in time in one channel, because they are not synchronized, for physical reasons...
The problem I have occurs when I change the 30 bits array (with the information of the X and Y position) to 2 arrays of 15 bits USING the same clock...
The error I have is the following... "The specified resource is reserved. The operation could not be completed as specified".
I think that this error comes from the impossibility of writting the same port twice at the same time... because the task is acting on the whole port, not in the individual channels.
Could anyone help me? The other possibility is to do the following, in the same task, with the external clock:
1. open X channel
2. write X channel
3. close X channel
4. open Y channel
5.write Y channel
6. close Y channel
But I don't know how to do it...
Thanks!
sb Rio 9605 ADC readout
Hi,
I want to readout an ADC with the sbRIO9605. For this I need a 10MHz clock and 5ns pulse as chipselect for the ADC.
The problem is now, that I am working with two timed loops. One loop is to create the clock and second for the chipselect. But if I would start the programm now, I would see that those two loops are not running synchron.
How can I fix this?
Does anyone has an idea?
Using MAX to configure digital input levels on a USB-6009
Hello,
I'm using a USB-6009 in a Windows environment. MAX lets me configure the 8 bits in port 0 as either input or output. However, when I set the bits to be all inputs, their default level is high, and the "ALL LOW" button is grayed out. Is there a way I can activate this button to set all input bits low and so be set to read a +5V input pulse?
Regards
Geoff Hammond
Problem with NI-6229 Digital Output + 100KHz clock
USB-6501 Z (high impedance)
I am trying to use the IDW library to create a master using the USB-6501. My problem is the Write DAQmx gives an error when it try to use 'Z' setting for high impedance. Are there any work arounds for this?
Wrong reading from 9213
Hi all
I have a NI-9213 connected with a cDAQ-9171 and a J type thermocouple.
I am testing the unit and measuring the room temperature. In LabVIEW it shows about 23 degrees celsius, and in other room temp measurment devices it shows about 26 degrees (which I tend to think is the more accurate room temp).
Does anyone knows why?
Does it have to do with calibration?
Is it not meant to measure room temp?
Any kind of help would be greatly appreciated.
Thanks in advance,
Vlad.
HSDIO 6556 - Pattern Looping
Hi All,
We are using a NI 6556 HSDIO.We want to loop particular patterns using the script editor/waveform editor. Is this possible? For example, in a pattern file if there are 10 different patterns and I would like to loop patterns 5 and 6 continuously, can this be done?
Regards,
Sreekar
Carte PC DIO 24
Bonjour,
Mon problème est je n'arrive pas à voir la carte PC DIO 24 sur le MAX, ce dernier la considère comme une carte DAQCARD DIO 24.
C'est pour cela quand je fait le reset de la carte détecter sur MAX qui DAQCARD DIO 24, j'ai erreur.
Est-ce que vous avez une idée ?
Merci d'avance,
Chadia
USB-6501 for Open Collector Signal Generation
Hello all,
I've thoroughly read the manual for this product, and I believe it is what I am looking for, but I was just hoping to get confirmation from someone who knows a little more about it than I do. I have a stepper motor drive that accepts control pulses. The differential voltage between the 2 input pins must be between 2.5 and 5 V DC. The control pulses can be RS422 or open collector type signals. The maximum pulse frequency is 250 kHz, the length of the pulse must be greater than or equal to 2 microseconds, and the time lapse between pulses must be no greater than 40 milliseconds. The motor needs to run continuously for an extended length of time. Again, just looking for confirmation that this DIO can output the signal I need. Thanks for any help.
Effect of 9411 clock frequency on pulse width measurements
I have a project with 9411 differential DIO card installed on a 9033 cRIO. We are measuring pulse widths of a digital signal.
This means we measure the number of clock ticks in our 9033's FPGA between one rising edge and the next. The FPGA in this cRIO has a 40 MHz clock and so a clock tick is 25e-9 seconds. So far so good.
Except the 9411 has a published clock rate of 2 MHz.
So what I want to know is how these two clocks interact to affect my measurement. (The period of the digital signal.)
If the 9411's clock is synchronized to the 9033, then I would expect that my edges would show up to the FPGA only in multiples of 500e-9 seconds regardless of when they occur.
If they are not synchronized, then I would expect the period of several cycles to vary a little but that an average would show some multiple of 500e-9 seconds.
Or possibly some third thing that I haven't even guessed at.
Unfortunately I don't have access to the system right now or I would run some tests and figure which of these 3 it is. So I am turing to the wisdom of the forums.
In short, how do the two clocks interact when I am making a pulse width measurement? How does this interaction affect my pulse width measurement?
FWIW, our high end frequency is 81920 Hz.
Thanks!
Reading Arduino Serial through USB 6211/6501
Hi Everyone,
I'm working on a project to acquire data from 10+ pressure sensors (I2C) at the same time, with a frequency of 500Hz (per sensor). What I was planning to do is to connect the pressure sensor to an arduino and output data from the arduino serial which then gets routed through a digital line on the USB 6211/6501 (I have a 6211 for testing and I'll purchase a 6501 for the final setup). I'm new to digital data acquisition so I'm not sure how I would have to set up the 6211/6501 so that it matches the baud rate of the arduino. I haven't tried this yet but I wanted to get feedback on the feasibility of this.
Thanks.