LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to capture transient for waveforms being continuously acquired by 4472?

Hello, I hope this topic hasn't already been covered.
The objective: Set a single trigger level for a set of waveforms that are being continuously acquired and monitored by several 4472 boards (buffered), where if any channel exceeds the level, all the waveforms are captured(for later processing) at that point in time for the specified duration.
Attached are the initial beginnings of an attempt but triggering doesn't seem to work correctly for the level that I've set.
Maybe there is a better approach to all this? Any way to capture a specified portion of the pretriggered data in addition to post trigger?
Thanks in advance for your help, Hunter
0 Kudos
Message 1 of 5
(3,105 Views)
I got your example to work by specifying an array for slope instead of using the default of an empty array. I would appear that there's something in the call library node function that doesn't process channel 0 correctly. I would call it a bug since channel 1 seems to work. As far as getting pretrigger data, since you are getting the time of the trigger and then using that time for the Get Waveform Subset, you should be able to subtract a given time amount from the trigger event time and use that as the start time.
0 Kudos
Message 2 of 5
(3,105 Views)
Thanks for your question Hunter. Getting pre and post trigger data from several channels is a bit of a challenge. There are a couple of techniques, some using memory, some using files. I have attached a piece of older code that uses block size for pre-trigger depth. With LabVIEW 7.0 and later, we can probably use a binary waveform file for pre-trigger data and concatenate this with post trigger acquisition. I like your use of the trigger VI, as it searches all channels. The attached example is simpler, and only looks for one channel. Also, not in your example, I would not use the global as a way to pass the waveform data to the write to disk block. You should wire these directly, and perhaps consider a binary file format.
Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 3 of 5
(3,105 Views)
A long awaited "thank you" is in order, Dennis.
Ready to readdress this task after a few months of diversion.

I've liked tried your suggestion regarding pretrigger but have been unsuccessful. Several questions at this point:
1. Why do the trigger locations appear to be in INDEX mode when I've specified TIME mode?
2. What are the units of DURATION on the GET WAVEFORM SUBSET?
I can trigger the capture and quickly lower the amplitude but the duration never seems to be long enough to capture the "decaying" amplitude.
Thanks for the help.
0 Kudos
Message 4 of 5
(3,105 Views)
Same goes for you, Preston. Sorry for the delayed thanks.

How would I integrate the example that you've sent with the 4472 chassis acquisition VI that you've helped me with long ago? Seems this might be in conflict since you've got another AI READ in this example.

Do you think I could use the trigger VI within your example to look at all channels? Need to figure out what's going on with it (see my questions to Dennis).
I may give you a call today. Thanks, Hunter
0 Kudos
Message 5 of 5
(3,105 Views)