Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Shared clokck among DSAs and a MIO

Hello,

I need to migrate a PXI based application from Traditional DAQ to NI-DAQmx. The PXI chassis is consisted of 9x PXI-4472 (slots 2 to 10) and a PXI-6713 (slot 11). DSAs are devices 1 to 9, MIO is device 10. The DSA in slot 2 is the ST Master that shares its clock with the rest. The MIO should trigger the start of the DAQ where it generates 2x AO bffers of finite excitation and the DASs acquire syhncronized with it. I have thw follwoing dilemas:

 

1. clocking the 6713 MIO

In the traditional Ni-DAQ the clock for the MIO needed to be divided. Do I need to take care of it again in the NI-DAQmx or is it taken care of automatically?

 

2. grouping the AI tasks of the nine DSAs

I run into this document "Synchronizing DSA and SMIO Devices With a Single NI-DAQmx Task" (http://digital.ni.com/public.nsf/allkb/78E44565FD87E7D686257108007F94F8). Can I simplify the wiring for the 9x AI tasks by grouping them into a single one for 9x 4472 devices?

 

I ask this because I don't have the PXI chassis at the moment and there is no "simulated device" option for 4472.

 

Thanks in advance,

0 Kudos
Message 1 of 19
(4,367 Views)
Hi golubovski,

Thanks for posting on the NI Discussion Forums!  I'm happy to hear you are moving to NI-DAQmx, you will not regret it!  You are correct, NI-DAQmx allows you to group together multiple DSA devices in the same task.  This is definitely valid for the PXI-4472.  FYI, you can indeed simulate the PXI-4472 in Measurement & Automation Explorer.



There are multiple ways you can synchronize the DSA devices to the analog output of the PXI-6713.  However, you may want to consider using the PXI10 as the reference clock as this may be the most straightforward way.  Also, a similar question has been posed to the forums here.  Take a look at the VI that Way S. posted here, and let me know if you have further issues. 
Message Edited by RT4CY on 09-09-2008 09:18 PM
Rod T.
0 Kudos
Message 2 of 19
(4,352 Views)

Hello RT4CY,

 

Thank you for your prompt response. Could you take a look at my VI I have attched. It has inherited a password for the diagram - "1281940". I have 2 tasks - upper for 2xAO and lower for 72xAI (9x 4472 devices). The AO is performed via PXI-6713 and couple of signals with same duration are DAC-ed. It triggers the start of the DAQ. The lower AI task is supposed to synchronize all devices by the SampleClock of Dev1 (PXI-4472 in slot 2). The while loop performs streaming and DAQ until error or when the AO finishes.

 

1.

Is this OK? Will it work as supposed?

 

2. time base division

I know I have to divide down the SampleClock from 4472 to make it usable for 6713. If it is not being taken care of automatically by the DAQmx engine, I have e feeling it needs to be done by the use of Timing Node but am not sure how.

 

Can you help or suggest?

Thanks in advance,

0 Kudos
Message 3 of 19
(4,339 Views)

Hi golubovski,

You are absolutely correct in that you need to divide down the sample clock from the 4472 to make it usable for the 6713.  This is not done automatically by DAQmx, and yes you will use the Timing Property Nodes.  Did you get a chance to look at the VI in the other forum post?

You can test your VI by simulating the PXI devices in Measurement & Automation Explorer.  Let me know if you are still having issues on how to do this.  If you were to simulate the devices and run your program, you can see that you get Error -200077 at the DAQmx Timing function.  This is telling you that you cannot directly specify the aisample clock of the DSA device.  Please see the VI posted in the other forum on how to do this using DAQmx Timing Property Nodes. 

Rod T.
0 Kudos
Message 4 of 19
(4,323 Views)

Hello RT4CY,

I was away for a while but my PXI-1006 finnaly arrived and I am eager to migrate my DAQ to DAQmx. I have gone through all the links you had implicated previously and need confirmation/advice in order to proceed.

In short, I have 9x PXI-4472 in slots 2:10 and a PXI-6713 in slot 11 (bus #3). As with my TraditionalDAQ setup I need to achieve the following:

 

1. export sync to 8x DSA and the MIO

2. export StartTrigger signal from the MIO to 9x DSA

 

Obviously I will have 3 preparatory lines (MasterDSA, AO and SlavesDSA). Now the details that puzzle me - I need to format strings for identifying the exporting/importing slots/devices?!

 

1a. export SampleClockTimebase

I need to format a string containing all slots that will use the StarTrigger bus for the ST-master ADC clock?

 

1b. import SampleClockTimebase

I need to tell all DSA slaves to import this signal from StarTrigge! What is the terminal name for the StarTrigger bus?

 

1c.

Does this include the PXI-6713 also which implies dividing it, or can I just send the AI_SampleClock from the ST-master to it directly? How do I do the division - which DAQmx node(s)?

 

2. Start Trigger

I have configured (for now) all 8x PXI_Trig lines from the PXI-1006 to route "Towards Slot 1". Here, I just use "/PXI1Slot11/ao/StartTrigger" as start_trigger for all the DSAs?

 

I hope you understand my confusion with the DAQmx new PXI stuff naming conventions.

Thanks in advance,

0 Kudos
Message 5 of 19
(4,258 Views)

Hi golubovski,

I'll try and clear up a few points of confusion that I see in your previous post.


1) The PXI Star Trigger bus is only used when you have a Timing and Synchronization device (such as the PXI-6652) in the Star slot of the PXI chassis.  You will use the PXI Trigger bus.
2) Synchronizing the DSA devices is taken care of automatically by NI-DAQmx.  Simply include all DSA devices in the same DAQmx Create Channel VI.
3) Share the PXI reference clock instead of dividing down the DSA clock.  This makes programming much easier. 


Take a look at the VI from the other post.  You will see that they are sharing the PXI reference clock.  You use the DAQmx Timing property nodes to do this.  Also, the program is triggering the AO with the aistarttrigger from the DSA.  This fulfills the requirements for tight synchronization (share a clock, share a trigger). 

Rod T.
0 Kudos
Message 6 of 19
(4,231 Views)

Hi RT4CY,

 

I still cannot connect the PXI and play with it. OK, I will use the DSA master to also trigger the start of the AIO operation. Can I put the master DSA with the slaves in the same task (CreaateChannel.vi) or must I use 2 tasks - one for the master AI and one for the slaves AI?

 

Thanks in advance,

0 Kudos
Message 7 of 19
(4,172 Views)

Hi RT4CY,

 

I have attached a VI according to what I understood from your instructions. LV version is 8.51, all DSAs areput in a single task (the master in slot 2and the rest 8 slaves). Is this OK, or must I separate the master in a different task?

 

Furthermore, I simply cannot locate the "RefClk.Src" property of Timing Node? I have copied it from the VI you adviced me to look at. Then, when I try to wire a connection between that node and the "MasterTimebase.Src"param form the Timing Node of the AO slave (PXI-6713) the "feedback" icon shows up and it is impossible to remove it?!?

 

Can you help directly on the VI's diagram, or at least point a detailed documentation where I can learn about ALL the DAQmx nodes. I am very frustrated since I had no problem with the Traditional DAQ!

 

Thank you in advance.

0 Kudos
Message 8 of 19
(4,167 Views)

Hi golubovski,

 

Rod is out of the office today, but I should be able to help you out.

 

Yes you should be able to include all the DSA lines in a single task, which includes both the master and the slaves.

 

After dropping down the timing node follow the picture here to get to the reference clock.  If this is not an option for you try connecting a related line to the property node.

The feedback icon shows up when one part of your code references somthing that must execute after it.  I would suggest that you reorder the error wiring to look what I have done in the attached VI.  Putting the AI configuration first, then doing AO configuration and start AO task, finally start the AI task.

 

The error wire controls the order of execution for you program and in yours it was forcing the AO task to recieve input from the AI which must start after the AO task.  This new configuration allows the data to be fed forward and remove execution problems. 

Message Edited by Jason_D on 10-10-2008 12:42 PM
Sincerely,
Jason Daming
Applications Engineer
National Instruments
http://www.ni.com/support
Download All
0 Kudos
Message 9 of 19
(4,139 Views)

Jason,

 

Thank you for the response. I really appreciate this way anybody can get support from NI Applications Engineers, since the official and accessible documentation are completely lacking requiredimportant info!!! There is absolutely no straight LV documentation offering info on DAQmx nodes, etc (only foggy examples which is not OK for me).

 

I have 2 issues I need to learn facts on, from you regarding the attached VI.

 

1. purpose

I have re-arranged the tasks to be more depictive. The VI should generate 2x AO with variable length passed to from outside wiregram and acquire 72x AI with the same length which I guess is well solved inside the while loop - as soon as the signal generation completes, the DAQ is terminated. From the previous posts in this thread you know that I have used another VI pointed out to me by RT4CY as an example. If thi VI works as supposed than I have the following questions:

 

1.a.

How (where on the diagram) is it defined that DSA in slot #2 is sampling (clock) master for the rest of the DSAs (slots #3 to #10) - I can see MIO (slot #11) receives clock and is triggered by the AI master? Is it implicit by its "reserved" ST location in slot #2?

 

1.b.

 Who generates the "PXI_Clk 10" (I beleive a 10 MHz clock)? If it is DSA master (slot #2) which trigger line should I direct LEFT-to-RIGH, or is it taken care of automatically by the NI-DAQmx? I do not see explicite definition in the AI task!?

 

2. Timin Node options

Why my timing node DOES NOT show menus "Handshake", "Change Detection" and "Advanced"? Why the "More"menu DOES NOT show options "Reference Clock" and "Synchronization Pulse", etc.??? Why is my DAQmx crippled?

 

I aplogize for any inconveniance and thank you in advance.

Sincerely,

 

0 Kudos
Message 10 of 19
(4,126 Views)