From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

not enough triggers pxi 6561

Hi,

I wish to do multirecord acquisition with my pxi 6561. I have the following script in mind:

script
generate command 1
generate command 2
generate command 3 marker0 (0)
repeat 99
wait until scripttrigger0
wait until scripttrigger1
generate command 2
generate command 3 marker1 (0)
end repeat
end script


Marker event 0 will be exported to pfi 1 and then will be received on pfi 2 to start a dynamic acquisition session.

Marker event 1 will be exported to pfi 3 and then will be received on pfi 3 to advance to another record in the dynamic acquisition session.

No reference triggers are used, and the minimum number of prereference triggers is 0, so the records will just end when the specified number of samples is acquired.

The number of records will be 100, and the size predetermined to be about 10,000 samples. I will fetch continously, by fetching the backlog and then feeding the number of samples from fetch backlog into the number of samples to fetch. When number in fetch backlog goes over say 14 Msamples, I will output a software trigger to stop dynamic generation which is scripttrigger 0.

The problem now is that I have no line to output a ready to advance trigger since all the trigger lines are used up. I wish to send out an ready to advance trigger to and to reeive this to for scripttrigger1.

The basic idea is to do multirecord acquisiton. I will send out a command sequence given by command 2 and command 3. When command 3 is outputted, I then wish to start acquiring data for 10,000 samples. This is caused by marker event 0 or 1. When the acquisiton of 10,000 samples finishes it will send out a ready to advance event when there is more records to acquire.

In parallel, I will be fetching and writing to the harddisk as fast as possible, by reading the fetch backlog and fetching the number of samples specified in fetch backlog. When fetch backlog goes over 14 Msamples, I wish to pause acquiring and generating data. I will pause generating data by sending a software trigger at scripttrigger0. When this trigger is sent, no more data is generated, and no advance trigger will be outputted since the marker event 1 will not be outputted, so there will be no data acquired as well. The dynamic acquisiton session will be stuck in a ready to advance state. The problem is to now find a place to route the ready to advance trigger and read it but there are no more trigger lines left.

One idea I had, but I don't know if it is possible, is to send out the marker event 0 on pfi 1 and send out marker event on pfi 1 as well since they will not occur simultaneously during the same clock cycle. I would then read th start acquisition event and the  advance event on pfi 2 as well, there by leaving pfi 3 and pfi 0 open. I could then send out the ready to advance event on pfi 3 and read it on pfi 1 or maybe do this on pfi 1 and pfi 2 as well.

Please provide any suggestions you may have.

Thank you,

-Tim


0 Kudos
Message 1 of 5
(3,278 Views)
Hi Tim,

According to the script you should not need more triggers lines... but I see your point. The only solution I can think on right now is to use pattern match as other sources of triggers. You will use some of those DIO lines as triggers.
You can always use the software program start for the start trigger, then use the two triggers you mention (start acq and advance) using the PFI lines.

Hope this helps,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 2 of 5
(3,253 Views)
Tim,

In addition to the PFI, the 656x has PXI based triggers that are routed on the back plane.  You can use a 6652 Synchronization Module to expose those triggers to the front of the PXI chassis.  I believe some other DAQ modules can route PXI Triggers to their bulk connector but I know the 6651/2/3 are capable of routing to and from those lines.  These lines are NOT synchronous to your signals at the front panel so make sure that the signals and events you are rounting are okay with that (ie ready for start, generation pause request, etc)
Message 3 of 5
(3,246 Views)
Hi,

Thanks for your response. I am planning to send out triggers to the pxi_trig lines and receive them on them as well. It will be fine for our application that they are not synchonous with the data. I think in this case they will be slightly ahead, but that is fine.

I am thinking of sending out a marker event on say pxi_trig_0 and receive it on the same line pxi_trig_0 as well. Is there anything I should worry about when sending and receiving on the same trigger line like this.

-Tim
0 Kudos
Message 4 of 5
(3,241 Views)
Tim,

Sending and receiving signals on the same channel is not ideal but should be fine.  There may be some transmission effects (driving a long transmissiont but receiving at the source) resulting from that but the behavior should be deterministic.  That is, if it doesn't work, I would expect it to fail immediately and obviously.
Message 5 of 5
(3,236 Views)