Hi J.T.,
The DAQmxResetDevice is the correct function call. The function returns the device to an initialized state. Calling
this function is the same as doing a reset on a device from MAX. The DAQmx Reset Device function immediately aborts all running tasks
associated with the device. This action stops and releases any
resources reserved for a task, such as trigger routes.
The reset device also performs a few actions to digital I/O lines.
It sets all digital I/O
lines to the configured power-up state (which can be set programmatically or in MAX on the 6527). You might take a look at setting the power-up state
here. It also tristates all digital
I/O lines and returns digital output-only lines on devices that do not support configurable power-up states.
Are you using clocked DIO or software timed? Have you tried watching your memory usage while the program is running? If you see your available memory steadily drop, this may indicate that your having some type of memory leak in your program. Take a look
here at an article about how you can get a memory leak when you don't use the DAQmx clear task function. Also, take a look at the additional links they may be helpful too.
I hope this helps,
Paul C.