01-26-2021 06:08 AM
Hello, I recently bought NI PCI-6259 M series DAQ. I using it with SCC-68 with SHC68-68-EPM shielded cable. I got issue with it.
DAQ card is attached directly to motherboard PCI. I was using Windows 10 x64 system.
I was set each Global Channel (total 16 channels) to Dev#/port0/line# is it correct?
Where Dev# number I got from NI MAX & line is 0-15 number for each one different channel.
I was trying to measure these pins with oscilloscope: Got 0 voltage.
Some other pins like: pin 51/P0.5 gives me positive 5 Volts (error cant be on oscilloscope side).
I was trying to use different cable, same result.
Is ther some info about DIO using with this board? Or did you have any clue?
Thank you!
01-26-2021 08:14 AM
The pins you labeled with #s 0-15 are on ports 1 and 2. You mention setting up global channels on port 0. It's unclear to me what you're doing in MAX, but it seems like a pretty basic operator error caused by configuring port 0 while observing ports 1 and 2.
What do you want to do with these I/O channels? Only port 0 supports hardware-timed tasks, and only 1 each for input and output at any given time. (And the DIO subsystem isn't able to derive its own sample clock -- you must supply it one some other way.) If you plan to do any kind of hardware timing, it *probably* won't be helpful to configure individual lines as separate global channels. You'd have to group them all into a single task anyway.
-Kevin P
01-29-2021 02:22 AM
Thank you Kevin,
for help me this out. I try to generate on these pins 16 digital output ready for resistor ladder. I tried that one with Elvis II and gets me third analog output. Some filtration is still needed. But thats ok for me.
But I am fighting to get the same results like on Elvis, that I am able to work on this project from home.
Is there way to do it?
Some pins on PCI-6257 generating digital signals.
Some pins on PCI-6257 generate 0 V.
After plugging up the resistor ladder, signal around zero with some high impulses at miliseconds showing up on resistor ladder output. I tried to plug it in 2nd way, different results, still not the deserved signal. I can measure and save these oscilloscope data.
Here is my Vi for PCI-6257:
01-29-2021 05:35 AM
You should probably spend more time looking at some of the shipping examples ("Help->Find Examples->Hardware I/O..."). There are very many things wrong in the code you posted.
1. The task should be configured and started before the loop. The only thing you should with the task inside the loop is write data to it.
2. The multi-sample digital waveform is meant for buffered, hardware-timed tasks that get configured through a call to DAQmx Timing. You have an unbuffered, software timed task that will only write 1 sample per channel on-demand when you call DAQmx Write. I'm not sure what you'll get, maybe just the very first digital state
3. Because you're using ports 1 and 2, you'll need to stick with software timing and writing one sample at a time. This is a hardware restriction of your device -- only lines on port 0 can be generated with hardware timing.
4. Your task contains many channels, but you're only trying to write 1 waveform, which would define data for only 1 channel.
5. You have 16 global channels but are wiring that list to an input for *physical* channels in the call to DAQmx Create Virtual Channel. You should be using DAQmx Create Task when you have global channels.
6. You chose the version of DAQmx Read that's meant for 1 channel, many samples. While this matches up with the 1 waveform you write to it, it *doesn't* match up with the many distinct global channels you've defined nor (as said back in #2 above) with your lack of hardware sampling config via DAQmx Timing.
7. You aren't paying attention to or reacting to any errors inside the loop.
This is probably still not an exhaustive list. Go check out the examples. When you want to experiment and try to change something in one, first save a copy in one of your own working folders and be sure to only change your *copy*, not the original.
-Kevin P