04-18-2012 07:39 PM
Hello everyone, just looking for some sanity checking here.
I have a system that works like this:
Motion Control Card | | Third-Party-Device | | 5122 NI SCOPE
Generates Breakpoints | --BP- > | Creates data record | --Data Rec--> | Acquires the data record
On positions (relative) | | when receives BP | |
I am using a 735(4) to generate BP pulses every 0.90 degrees on a rotating axis. The Breakpoints are seen by a third party device, which generates 1 data record of 800 uSec in duration on every BP. The NI 5122 is supposed to see the data record and acquire it.After the record, the 5122 should then go and wait for another record. The BPs occur at a maximum repetition rate of 120 Hz, so I have 8.33 mSec between records (and BP triggers)
The motion control card generates pulses every 0.90 degrees continuously. For data processing, I am only interested in records that occur within specific angular windows.
For instance, while the motion control card is directing the 3rd party device to fire every 0.90 degrees around the whole rotation, I might only be interested in the data records between 15 and 20 degrees.
I have 2 problems at the moment:
i. I can confirm that I am reading records fast enough to not overwrite old data, as I don’t get buffer overrun errors
Ideally, there would be a direct way of determining the instantaneous position of the axis every time I see a record on the 5122, this would mean that I wouldn’t have to rely on derived position.
Any thoughts?
Thanks.
Wes