Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

How Does the niScope EX Fetch Forever VI Work? How Do I Program it for Continuous Triggering?

Primary Software: Driver Software>>NI-SCOPE
Primary Software Version: 2.9
Primary Software Fixed Version: N/A
Secondary Software: LabVIEW Development Systems
Hardware: Modular Instruments>>High-Speed Digitizers (Scopes)

Problem:
I like the continuous nature of the Fetch Forever example. However, when I add a hardware trigger or send a software trigger, the acquisition stops. The documentation for the example says that it sets up a single acquisition with a software trigger, but the software trigger is never given. How does this work?

Solution:
The niScope EX Fetch Forever VI takes advantage of how the hardware and driver are set up to acquire continuously.

When the NI-SCOPE device is set up to acquire pre-triggered scans, the device onboard memory is used as a circular buffer. This way, no matter when the trigger is received, the driver can backtrack and retrieve all the pre-triggered scans requested. The Fetch Forever example takes advantage of this fact by setting up a triggered, single-record acquisition that never sends a trigger. Because the onboard buffer is continuously filling up and waiting for a trigger to determine its pre-trigger and post-trigger samples, the single acquisition never finishes. The example continuously fetches data directly from the onboard buffer.

If a software or hardware trigger is received, the single acquisition takes just more than enough samples to fulfill the requested number of post-triggered scans. The next fetch returns the pre-triggered and post-triggered samples. The single acquisition then ends. This is why the example configures a trigger (sets up the device to acquire pre-triggered samples) and never sends the trigger.

If your application requires a continuously pre-triggered acquisition, you have the following two options:
  • Use the niScope EX MultiRecord Fetch Forever VI instead. This example sets up the hardware for a multiple record acquisition. Then, you can configure your trigger source to trigger each new record. The limitation is that you must acquire a finite number of records. This is because the driver returns timestamp information when you use multiple records and must know ahead of time how much memory to allocate for the timestamp data. You need to set the Enable Records>Memory property to TRUE. This transfers the onboard memory to RAM. The amount of available host computer memory limits the number of records you can request before receiving an insufficient memory error.
  • Use the niScope EX Configured Acquisition VI instead. This example reconfigures a single-record acquisition continuously and supports triggering. Its only limitation is whether your computer processor can keep up with your desired reconfiguration rate. If you are concerned with efficiency, you can modify the example and move some or all of the configuration VIs outside the While Loop.


Related Links:

Attachments:





Report Date: 01/30/2002
Last Updated: 08/06/2008
Document ID: 2HTAGCWZ

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit