Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

Signal Acquisition according to Low state timing of external digital trigger input

Solved!
Go to solution

Hi,

   I am using DSA devices namely PCI-4472 and PCI-4474 for data acquisition. Our application requires that these boards should acquire data only as long as external digital trigger input is in LOW state i.e the device should start acquisition on falling edge and stop acquisiton on rising edge. Unfortunately I could not locate a method to do it which is independent of number of samples passed to called function. If I configure device according to this configuration, it starts after initial falling edge and stops on rising edge. But if no. of samples to be acquired  (N = value passed to API function called) is less then the total no. of samples that should be acquired (between start and stop edge say N+X), the function only returns me N number of samples while dropping X samples.

 

 Similarly if no. of samples between falling and rising edges of trigger signal (say Y) are less than value (N) passed to API function called, the function always return me N = Y + Z although we do not require Z no. of samples.

 

   I tried to verify this thing in MAX. Can any one help me in getting around this problem?

 

Regards

Mnuet

0 Kudos
Message 1 of 7
(7,645 Views)

it sounds like you are working to align your vibration data with a tachometer pulse - is this correct. 

 

You could use a software buffer to continiusly acquire data and then cut the data into sections based on the pulse.  This would ensure you get all the data you need. 

 

Alternatively, you can use the Sound and Vibration Measurement Suite which has functions (in its order analysis group) for aligning data with machine shaft rotation. 

 

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 2 of 7
(7,629 Views)

Hi Preston,

   Thanks for your support.

Our application may be similar to but is not the same as described by you.

 

I agree with u that we can do it in software but that will be a bit cumbersome since we may have to use data acquisition system many times again and again and doing it in software manually will not be possible. We can also not use trigger signal as analog input since all analog channels are already occupied.

 

 We could have used Sound and Vibration Measurement suite but at the moment we are not using it since we have not purchased its license. We are using programming in Visual C dot net to design our data acquisition and analysis system customized to our requirements.

 

Can you please suggest an algorithm to achieve our goal. Just to share an idea with u. We can configure hardware to start acquisition on  start trigger (on falling edge of external digital trigger input) based upon N number of samples. N is kept very large so that the data acquisition does not complete before we receive rising  edge of external digital trigger. Now how can we check the status of "Rising external digital trigger input" in software so that we can force hardware to stop data acquisition. If it is possible to do then it will solve the problem.

 

Waiting for your expert advice . .

 

Thanks & Regards

Mnuet

0 Kudos
Message 3 of 7
(7,621 Views)

do you also have a digital input board, or are you using the dig trigger input line on the 4472 / 4474 board.  If you have a second low cost DIO board, you could also monitor the digital line in software and decide when to stop the data acquisition. 

 

 

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 4 of 7
(7,618 Views)

Hi Mnuet,

 

The behavior you described, of only acquiring data while a trigger is low is traditionally called Pause Triggering. The Dynamic Signal Analyzer (DSA) line of products do not currently support this functionality. You will continue to see the difficulties you described.

 

The DSA cards do, however, support analog triggering. Something you might try is taking the Acq&Graph Voltage- Int clk- Analog Start w Hyst example program installed with the DAQmx driver and modifying it so that it is continuous by placing a while loop about the start, read, and stop functions. You could then connect your external digital trigger to an analog input channel and use that channel for analog triggering. If you use falling edge as the start trigger, you can define a voltage level that the AI signal falling past will cause acquisition to start. The acquisition will continue until the AI signal rises back above that voltage level + hysteresis. For your example, something you might try is setting the level to 1V and Hysteresis to 2 V. This might be a viable workaround, running it on simulated hardware here did not result in any errors.

 

Something else to be aware of is NI does sell hardware that supports Pause Triggering, for example our S-series data acquisition cards and many of our M-series. Depending on your application type, it might be worth looking into either of these product lines.

 

If however, you are interested in performing order analysis with a digital tachometer like Preston described, then he made some excellent recommendations.

 

Regards,

Mallori

Mallori M
National Instruments
Sr Group Manager, Education Services

ni.com/training
0 Kudos
Message 5 of 7
(7,617 Views)
Solution
Accepted by topic author Mnuet

Sorry about that. I just realized while I was writing my answer to your initial question, you had already posted back. Preston is correct, I was trying to figure a way that you could do a digital read to check the level of the PFI 0 line, but the DSA cards do not have the circuitry to let you do a digital read. The only way you could check the line would be to use a Digital IO Card.

 

Regards,

Mallori

Mallori M
National Instruments
Sr Group Manager, Education Services

ni.com/training
0 Kudos
Message 6 of 7
(7,601 Views)

Hi,

  Thaks a lot to both of you for providing me information about the limitation of PFI0 line and suggesting me suitable alternates. Now it is clear to me how to work around this poblem.

Regards

Mnuet

0 Kudos
Message 7 of 7
(7,592 Views)