LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

double-buffered acquisition

In an application I read a torque (by means of an analog input on a PCI6034E) every pulse I acquire from an encoder placed on a stepping motor, therefore I tie every value of torque to an angle well defined. Now I need to acquire the same values of torque against time, that is, I want to start the acquisition at the time x and to terminate at the time x+ delta x, obviously on the same channel, at the maximum velocity that I can with this board. How can I do this? Whit a double buffered acquisition that runs under the existing angular acquisition? Has someone an example to send me? Thanks!
0 Kudos
Message 1 of 3
(3,232 Views)
Leo;

If you need that time to be accurate, you will need to use the counters of your board to do the timing operation.

The idea is to do finite pulse train generation with your counters, and use the output of the pulse train to be the Scan Clock of the Analog Input operation. By doing that, you can set up the pulse train to be of a specific frequency, and the number of pulses to be generated to be function of the frequency of the pulse train and the total time you want your analog input to run.

As you didn't mention what programming language you are using, I'm going to assume you are using Labview. If that is the case, you can find an example on how to do Finite Pulse train generation at Search Examples->I/O Interfaces->Data Acquisition->Counters->Controlling wi
th Counters.
You will need to change that example and include the analog input side of your task.

Hope this helps.
Filipe
0 Kudos
Message 2 of 3
(3,232 Views)
Probably, I did not explain very well my problem: I'm already acquiring torque from an analog input on my board by means of the output of an encoder. The encoder reads the movement of a stepping motor and inputs my counter (used as channels A and B of a quadrature encoder): at every increment of the counters, I read a torque value. In this way I get an array in wich each torque value is related to an angle. Now I need to get, by keeping this acquisition active, another acquisition of the same torque, but related to time. The idea is to start an asyncronous acquisition at the time x and then to start monitoring counters for acquiring the torque values at well defined angles. When this acquisition stops itself, I force the first acquisition to terminate. How ca
n I realize the first asyncronous acquisition? I add a file with some rows of my application regarding the existing syncronous acquisition with the counters.

Thanks!
0 Kudos
Message 3 of 3
(3,232 Views)