The board is configured for analog pretrigger mode, 2 channels.DAQ_Check is used to determine end of process. Often ( 6 out of 10 times) the process completes but the data in the buffer has not been rearranged for the correct starting point.I'm not getting any clues from status or the retreived value which is zero.
Software is NIDAQ 6.9 with Borland C++ bldr.5 Hardware is PIII 500Mhz
Note that this question should actually be posted in the Measurement Devices Multifunction IO category. In the future, you will find it beneficial to use that category, as you will see similar questions and you will have the opportunity to get answers from others interested in those topics.
The way the pretrigger mode is set up, you actually start acquiring data immediately and continuously in a circular buffer. When you set up your count for the buffer, you are actually going to be capturing the number of points that occur before and after your stop trigger. Thus, your starting point is based on when the stop trigger occurs. If you also specified to capture some points after the stop trigger, then you will capture (your buffer count - points after stop trigger) points before the stop trigger.
You can see this using the DAQsingleBufStopTrig_Eseries example in your NI-DAQ >> Examples >> Borland directory. If you want to set up a start trigger, as well, that just specifies when the data will start to be acquired in that circular buffer. However, the data returned to you will still be based on the count you specified and the stop trigger.
You can also find good resources on triggering on the http://www.ni.com/support pages. There are some tutorials, additional examples, and KnowledgeBase entries regarding triggering. Type in "trigger" and go on to choose NI Software, Data Acquisition General, and Learning to Use Products and Functions or Programming my application.
Geneva L. Applications Engineer National Instruments http://www.ni.com/support
Even though you do not completely explain how the data appears to be wrong, one possible explanation of the behavior that you are seeing is that the analog trigger circuitry is only 8 bits, so you may not be getting the resolution that you need. This may result in the correcting trigger point being hit 6 out of 10 times. If you need more resolution, you may want to consider using Config_Atrig_Event_Message. This function will allow you to execute a software callback based on the digitized data that has been acquired into the acquisition buffer. In your callback, you can retrieve the data that you want, and your trigger point will be more accurate because it has already been digitized to 12 or 16 bits depending on your board.