03-04-2016 05:04 PM
Hi All,
I'm have some difficulty with using the IQ power edge trigger & querying the RFSA if it has available samples/records ready for fetching. I've reviewed the documentation on the supporting VIs and the examples provided with the RFSA driver and have not been able to solve my problem on my own. What I am trying to do is have this VI capture periodic RF bursts that are greater than a specified threshold level.
I am going about this in the following manner:
I set the number of samples I want captured (finite) for each burst that crosses the threshold
I set the number of records to capture to be infinite
I specify the rising slope and the appropriate threshold
I then commit the RFSA configuration and initiate the acquisition
I then enter a loop and check the backlog for samples and the acquisition being done
If either of the above is true then I fetch the samples with the IQ fetch complex WDT vi
I keep looping until the user stops the vi with a button on the front panel
I went about this way as I didn't want to block indefinitely or for long periods of times
What I observe is the following:
I'll capture a single burst and then nothing else
that the backlog samples never goes above zero
that the acquisition is never complete
that if I switch out the IQ fetch with the equivalent IQ read and ignore the backlog and acquisition completion that I get records like I expect
My understanding is as follows:
IQ Power trigger does not need to be re-armed in the VI
that each triggering of the IQ Power trigger will create a new record containing the number of samples that I requested
My questions:
it appears that when the number of records is infinite that the acquisition is never considered done when the acquisition status is checked, is this correct?
Will I get multiple records queued up on the VSA using this configuration?
Why is a record number provided with the get fetch backlog VI?
Why would I want to fetch any record but the zeroth record?
Am I doing something wrong here?
Is there a better way to go about doing this?
Thank you,
Russell
Solved! Go to Solution.
03-05-2016 11:19 PM
I found the attached state diagram in the RFSA help buried under the devices section. Reviewing the state diagram, I expect that if I set records to infinite or at least to more than one then the state transition from "Record Complete" to the "Wait for Advance Trigger" will occur after capturing a record. What is not clear is how the IQ Power threshold reference trigger would cause (or what would need to be done to cause) the exit from "Wait for Advance Trigger" state. The orange line indicates that I can configure this but it is not clear how at least from a VI perspective.
Some more questions:
Thank you,
Russell
03-06-2016 09:22 PM
Hi Russell,
You are on the right track to get your application doing what you want. Instead of checking for fetch backlog, I suggest you use the RFSA Property Node to read the " Acquisition>>Fetch>>Records Done" property to know when a new record has been acquired.
> it appears that when the number of records is infinite that the acquisition is never considered done when the acquisition status is checked, is this correct?
That is correct.
> Will I get multiple records queued up on the VSA using this configuration?
Yes
> Why is a record number provided with the get fetch backlog VI?
> Why would I want to fetch any record but the zeroth record?
You are asking RFSA for an infinite number of records. Record 0 starts at first trigger seen. Record 1 at second trigger (after record 0 is completed), and so on.
03-07-2016 12:07 PM
In case you need a demo, try the attached VI. Sorry it's not all that pretty, but I had most of it lying around from a test I ran recently.
03-18-2016 03:15 PM
Sorry for the delay. The RFSA Property Node appears to do the trick in terms of determining if data is being collected though I cringe at it in terms of not being proivded a boolean interface to determine if data is available on the RFSA but instead being required to count how many records I've collected versus how many the RFSA has collected.
Do you know if there is an NI resource that provides more detailed answers to these questions?
Thank you JMota for the help.
03-18-2016 03:17 PM
Hi shawn.t,
Can you save it in Labview 2009 format or provide a screenshot of the VI you attached? I don't have access to LV2013 on the controller connected to the RFSA.
Thank you,
Russell
03-20-2016 10:44 PM
You're welcome. Other than the documentation for the API, the state diagram I think you already looked at and by looking and analysisng the installed examples, I can't think of any other resources.
Given your use case where you want to fetch every single record having a boolean telling you a new record is available would make it easier. However, the API is more generic and allows records to be fetched in arbitrary order, skip records or even retrieve a record more than once (given it has not been overwritten).
03-21-2016 11:45 AM
Here's the VI in 2009. I apologize if some of the formatting went wonky...
03-21-2016 12:41 PM
Thank you Shawn; appreciate the example as it is helpful.