Using VB 6.0 with the PCI-6534 and NIDAQ7.0, how do I simultaneously perform a continuous write on Group1 and single stop-triggered readback on Group2?
I am using Group1 (ports 0,1) to generate a 6-bit data ramp, a sample clock, and a trigger pulse. I am looping this continuously using the "Set_DAQ_Device_Info" function to enable on-board memory Pattern Generation looping. This continuous pattern output is working fine on Group1, and has been verified with a logic analyzer.
When I perform a single pattern read on Group2 (ports 2,3) with a Stop Trigger, the data that is acquired is not in-sync with the trigger pulse. Each time that I acquire data, it is in a different position with respect to the trigger pulse as well.
I have the DIG_Block_PG_Config function set for External REQ latching, and the DIG_Trigger_Config set for S/W Start and H/W Stop. Also, all of the polarities are correct and the data buffer is much larger than the number of acquisition points in the DIG_Block_In call. All of the connections are correct per the manual.
If I eliminate the PG_Config and Trigger_Config calls in the code, and try to acquire data using just the DIG_Block_In on its own, the program hangs up waiting in the DIG_Block_Check While loop at "DoEvents." The same hang-up occurs if I try to use the StartTrig in S/W or H/W modes with StopTrig=NONE.
I also tried swapping the I/O Groups to verify that the board was not damaged, and it acted exactly the same way.
Is there something that is possibly missing in the references/components of my VB program (I included everything that was related to NI Digital I/O)?