LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Triggering multiple PXIe-4302 cards with an external signal

Solved!
Go to solution

Hardware:

PXIe-1092 chassis, PXIe-8881, PXIe-4302 (slots 2, 3, 4, 5, 7)

 

Task/Problem:

First, I am new to using triggers and routing triggers through a chassis, so I apologize if this is a simple question. 

 

I am currently sending an external trigger signal to the PXIe-4302 card in slot 2 on PFI0. I would like to use this signal to be able to trigger the acquisition of multiple channels on different cards in the chassis. 

 

Attempted Solution:

I am able to use a digital start trigger to trigger and record data from channels on the PXIe-4302 card in slot 2 (shown in the image below). However, if I try to record data from a channel in a different card, I get the error "Error -89136, Specified route cannot be satisfied, because the hardware does not support it." I figured this is because I need to route the trigger through the backplane of the chassis to the other cards, but I am having a difficult time doing this. 

DSSLAG_2-1763499250264.png

 

I tried using the DAQmx connect terminals VI to connect "/PXI1Slot2/PFI0" to "/PXI1Slot2/te0/StartTrigger" and then the "/PXI1Slot2/te0/StartTrigger" to the "/PXI1Slot2/PXI_Trig0" which is connected to the backplane, if I am not mistaken. (I have the chart showing the connection terminals below.) I was then planning to have the digital start VI reference "/PXI1Slot2/PXI_Trig0", which should be available to each card in the chassis. I have a modified version of the Voltage - Continuous Input.vi with this setup shown below. I get the following error "Specified route cannot be satisfied, because it requires resources that are currently in use by another route." So I am definitely not routing the trigger correctly. What is the correct way to be able to use the trigger signal on the PFI0 in slot 2 channel for other channels on different cards? Also, what exactly is "/PXI1Slot2/te0/StartTrigger" referring to? Is it a physical pin or a route? I can not find any documentation on this. I would really appreciate any guidance on this problem or any examples of implementing triggers like this!

DSSLAG_0-1763498458562.png

DSSLAG_3-1763499631068.png

 

 

0 Kudos
Message 1 of 9
(116 Views)

Try:

  1. Connect "/PXI1Slot2/PFI0" and "/PXI_Trig0"
  2. Configure Digital Edge Trigger to "/PXI_Trig0" for all devices
-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
0 Kudos
Message 2 of 9
(88 Views)

Hi ZYOng,

 

Thank you for your quick reply. Unfortunately, I don’t think this solution will work. According to the sources and destination chart for the card the "/PXI1Slot2/PFI0" and "/PXI_Trig0" can’t directly be connected! I have copied the chart below again for reference from NI MAX. Do you have a way around this?

 

DSSLAG_0-1763516902517.jpeg

 

0 Kudos
Message 3 of 9
(80 Views)

How about just a splitter to connect the external signal to PFI port of each module separately?

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
0 Kudos
Message 4 of 9
(65 Views)

You can simplify it by using channel expansion i.e., put all the channels across cards into a single task and DAQmx takes care of synchronizing them.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 5 of 9
(60 Views)

Hi santo_13,

 

Thank you for your response. Could you explain your response further? I may be misunderstanding what you are saying.

 

I am able to synchronously collect data from multiple channels on multiple cards. The problem occurs when I try to acquire data from channels on different card when I input a trigger signal to a specific card. For example, if I send a trigger signal to the PFI0 port on a PXIe-4302 card in slot 2 then I am unable to use this trigger signal to trigger data collection for ai0 from PXIe-4302 card in slot 3. 

0 Kudos
Message 6 of 9
(44 Views)

Hi ZYOng,

 

Thank you for your response. While this might work, I would rather not use this as a solution. I believe that it could introduce significant timing differences due to the differences in wire length and signal degradation. The NI documentation mentions that this is a problem even on the backplane of large PXI chassis. If possible I would rather connect the trigger between cards within the chassis.

0 Kudos
Message 7 of 9
(43 Views)

Channel expansion should solve that as well - Easily Synchronize and Trigger NI-DAQmx with Channel Expansion - NI

 

Once a task contains necessary channels across cards, you configure the trigger for the "task", and it will be the DAQmx driver's responsibility to propagate the trigger across channels in the task (across cards) to make it functional.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 8 of 9
(33 Views)
Solution
Accepted by topic author DSSL-AG

Hi santo_13,

 

Thank you for your reply. I have actually been using channel expansion in a more complex code version of the code that I did not show in my screenshot in my previous comment; however, the trigger problem still persisted because the PFI0 channel from slot 2 can not be accessed by the other cards in the chassis. This meant that the I got an error even with channel expansion.

 

However, I have figured out a solution to my problem, and it was a rather simple solution that I didn't know about previously. Instead of sending my trigger signal to the PFI0 input of a single card (like in slot 2), I sent the external trigger signal to the "TRIG_SMB" input on the PXIe-8881 controller. This input can be directly accessed by each of the cards in the chassis through the backplane of the chassis. Then I simply used the "TRIG_SMB" with the DAQmax start trigger (digital edge) VI and this allowed me to use the trigger signal to trigger any channel on any of the cards in the chassis.

0 Kudos
Message 9 of 9
(17 Views)