10-06-2008 09:47 PM
Is there any way I can find what type of routing does DAQmxCfgSampClkTiming establishes between two boards?
I'm using the ANSI C interface, and two PCI-6733 analog output boards (AO series) connected with a RTSI cable. I tried following suggestions on the manual on making the slave device have the same 20MHzTimebase clock and I kept getting errors on "there are no more resources for this route" type of messages.
It wasn't until I avoided any type of explicit signal routing and just used "/Dev1/ao/SampleClock" as the sample clock source on the slave device (Dev2) that the multi-device analog output started working (after resetting the devices, BTW). I'm just curious to see what kind of signal routing DAQmxCfgSampClkTiming has established under the hood.
The test program seems to be working well and the signals synchronized, but I want to make sure I'm configuring correctly.
The DAQmxGetExported...Term functions don't show anything since I imagine it's all task-related as opposed to immediate routing. The DAQmxGetAO... functions don't seem to have anything to find out routes.
Thanks
Solved! Go to Solution.
10-07-2008 02:05 PM
Hi Ramirez,
I'm assuming you were looking at the Analog Output Series User Manual for the suggestions you mentioned. The manual isn't very specific on the actual steps you need to take, but there are examples that come with the driver that do synchronization. In them, you'll see that they don't specify a specific RTSI pin that the timebase should be shared on. Instead, DAQmx routes the timebase through the appropriate pin (RTSI 7, according to the manual).
I hope that helps!
10-07-2008 03:00 PM
Mark:
Thanks for your response. I did look at the examples that came with DAQmx along with another I downloaded for multi-device synchronized AO, but it's not clear what type of board the PCI-6733 is. The examples take different approach to synchronization depending on whether it's an E or S series, an M series, or a DSA series, but after reviewing specs, manuals, and NI's product web page, I couldn't determine where the PCI-6733 belongs. Is it an M series type of board?
I tried the approach for E/S series (routing the MasterTimebaseSrc and MasterTimebaseRate from the master board to the slave), but it didn't work. When priming the write on the slave channel the error message said something like "unable to write with autostart off... the task is configured for 'on demand' mode". I'm not sure now... I may have been missing something in the code. It looked to me like the call to DAQmxCfgSampClkTiming on the slave board was needed to configure the continuous-writing mode, but it was doing its own routing that conflicted with any other specific routing I tried to make.
Thanks for your help.
10-08-2008 02:48 PM
Hi Ramirez,
From the error you just supplied, it seems that you may be configuring the Write function before timing is configured, which makes the timing default to "on demand". You'll need to set up timing, then call the write function. It may be helpful for you to post your code and indicate where you found the example you started with.
To address your question about the signal routing for DAQmxCfgSampClkTiming: unfortunately that is information that we aren't able to provide to customers. It sounds like the overall issue is getting your code to do what you expect, and we should be able to do that without the extra details anyway. Once I get your code, I'll see what I can do to help you out.
10-08-2008 02:52 PM
11-11-2008 04:59 PM
Mark:
Sorry for not responding earlier. Thanks for your help. I tried again the method as suggested in the examples and realized I had left out the call to DAQmxCfgDigEdgeStartTrig. After adding it, it worked as the examples suggested, so that's the approach I'm using now.
Thanks again for your help
Sergio
12-04-2008 12:33 AM
remirez,
I wanna generate specified waveform via PCI-6229, and the program platform is VC++. It seems that you have done this before, could you please send me a copy of that piece of code for reference? As I can't generate that by following NI-DAQ manual, and all what I get is the last value of the data array.
Thanks a lot, and look forward to hearing from you.
/*curtisy@163.com, yuanzhui@hotmail.com*/
12-08-2008 12:32 PM
Curtis:
Unfortunately I can't share the code because it's DoD work. But the examples provided by NI-DAQmx should give you a head start. It's really not difficult.
12-11-2008 08:38 AM
thanks all the same.
I have already finished that based on NI chart flow.