Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

synchronization of two non-like DAQ boards

I am using a NI4351 for PCI temperature and voltage board in conjunction with a PCI-6120 S series DAQ board. The application that I have built calls for the two boards to acquire data at the same time but at different sampling rates. I have created sub vi.s for each of the two tasks that I am attempting to perform and they work well by themselves. When I put them into the main program that they are to run within the trouble begins. The main program utilizes a producer consumer architecture with parallel while loops, each one containing one of the tasks which I described.The error code that I get once executed is "-50130"  which subsequently locks out the 6120 DAQ board. I have found many items that talk about synchronization using RTSI cables but non of the articles deal directly with the combination of boards that I am dealing with.
 
Can someone tell me if I am trying to do something that is not possible?
 
Thanks,
Paul
0 Kudos
Message 1 of 7
(3,735 Views)
Hi Paul,

I don't think this is an issue with the synchronization of the 2 boards.  The only reason you would need RTSI is to share sample clocks or trigger signals, which you've said is not required.

I am guessing that you are getting a -50103 "Resource Reserved" error from NI-DAQmx, not -50130, which is undefined.  Please correct me if I am mistaken and add any additional information about the error.  The 4351 uses it's own driver that makes Traditional NI-DAQ function calls, so the devices should run simultaneously without conflicts.

Are you running the acquisitions as subVIs in a loop?  If so, are you using a Start Task VI in the subVI? This could cause a -50103 error if the task is started and not cleared.  I would look into where the task is being started and cleared and if you are not doing this explicitly, be sure to do so.  If you are acquiring data in a loop, configure and start the task before the loop and clear it afterwards.  Let me know if this helps or if my assumptions are incorrect, feel free to let me know what your program is doing.
Regards,
John Bongaarts
0 Kudos
Message 2 of 7
(3,720 Views)

John,

Thanks for responding here. I am currently working with an application engineer (Daniel P Marcotte) through the customer support line and have an open case. I'm not sure how you guys feel about two people working on the same problem but I appreciate any efforts that can be placed on this problem. Perhaps some ideas can come from this forum that may aide Daniel in his efforts. We are at a point where Daniel is working towards duplicating my scenario at his location using my vis in his system with a 6120 and 4351.

I am using two vis which I developed, one written using traditional DAQ (4351) and one using DAQmx (6120). The 4351 is sampling at a 1Hz. recording temperature and the 6120 is sampling at 800KHz. recording voltage and current. The DAQmx task was pre-configured in Max and is being cleared after execution. THe 4351 was pre-configured as a virtual channel list in traditional DAQ and is not cleared after execution.

For simplicity I have set these vis up to run in master/slave parallel while loops with a local variable closing the slave loop upon completion of the master loop's execution. As is the vi runs perfectly with no issues.

When I add either one of the aforementioned subvis to either of the loops everything is fine and the data updates in the indicators showing that all is well. When the second sub vi is added the problems begin. After one loop iteration an error (-50103) is generated and the 6120 DAQ At this point I can call that vi by itself and return data.

Thanks,

Paul

 

0 Kudos
Message 3 of 7
(3,709 Views)
Hi Paul,

If you could, please attach a screenshot of the error or let me know which VI is actually causing it and which resource is already being used.  Also, how many points does each acquisition gather over each iteration of the loop?
Regards,
John Bongaarts
0 Kudos
Message 4 of 7
(3,684 Views)

John,

Since coming back to the office this morning I have isolated the issue to be within the 4351 board. I have configured a 6251 board to take the place of the 4351 and in this configuratoin both DAQmx boards are working flawlessly together. I will have to try and generate that error for you again; this morning I re-worked things a bit and eliminated the 4351 from the system. I will put this back together and get what you are looking for. As for the number of samples, I am looking at 1 smaple per iteration on the 4351 and 30,000 on the 6120. I have increased and decreaseed the number of samples coming back from the 6120 and this didn't seem to change much.

Paul

0 Kudos
Message 5 of 7
(3,678 Views)

John,

Here as promised is the screen shot. I included the image of the actual block diagram for the vi in question. Let me know what else you may want to see.

0 Kudos
Message 6 of 7
(3,674 Views)
Hi Paul,

I'm curious to know what is going on within the subVIs.  If you could send some screenshots of those, it would be helpful.  I'm going to try setting up something similar here to see if I get the same results.
Regards,
John Bongaarts
0 Kudos
Message 7 of 7
(3,660 Views)