Measurement Studio for VB6

cancel
Showing results for 
Search instead for 
Did you mean: 

What is the maximum number of points (Updates) that can be written to a PCI-6711 card?

I am trying to generate multiple waves on 2 channels and when i run them, the generation ends prematurely. The entire wave is not played. Is this because there is a maximum number of Updates that may be written to the PCI-6711 card? Thanks!
0 Kudos
Message 1 of 10
(7,791 Views)
Hello,

Are you programming in Traditional DAQ or DAQmx?

For the 6711, the maximum number of updates is going to depend on what type of analog output data generation method you are utilizing - Software Timed, Hardware-Timed buffered, Hardware Timed non-buffered. Also, it is going to depend on whether you are doing on-board regeneration or whether you are streaming data from the PC memory to the on-board memory. If you are only using on-board memory, then you are going to be limited in the amount of data the waveform can contain according to the size of the on-board memory. For the case of the PCI-6711, the memory can contain 8,192 samples. This means that each of your two waveforms cannot contain more than 4096 samples each.

If you are suspecting th
at you are doing everything correct but still not getting all of the data, then you will want to check the backlog at the end of your generation. If the backlog is not zero, then call another DAQ Write such that the additional data left in the buffer can be generated.

Hope this helps you out.

Jared A
Message 2 of 10
(7,791 Views)
Thanks for responding so quickly. I am using traditional DAQ to write my application. I am not so familiar with all those data generation methods you mentioned, however. How can i learn more about them?

I suspect that i am using only onboard memory because in my application i create a data array and then call the write function. Its fairly straight forward. How can i learn more about using double-buffering or those other methods?

I think that because i am just using on board memory that creates my problem because i know i am using more samples than 8192.

Thanks again!

- Gerry
0 Kudos
Message 3 of 10
(7,791 Views)
Hello Gerry

When you installed the DAQ driver, it by default installs VB examples in C:\Program Files\National Instruments\NI-DAQ\Examples\VBasic. Please go through those example for a clearer understanding. You might want to take a look at the double buffered output examples that are there

-Arun V
0 Kudos
Message 4 of 10
(7,791 Views)
How do i check the backlog? I have been reading about the reason you want to check it, but i haven't been able to find an example for traditional DAQ using VB that checks the backlog.

Thanks,

Gerry
0 Kudos
Message 5 of 10
(7,791 Views)
GVanHorn,

If you are using one of the Visual Basic examples (C:\Program Files\National Instruments\NI-DAQ\Examples\VBasic\Ao\WFMdoubleBuf.VDP) you can use the function WFM_Check in the program to check the status of the output.

WFM_Check
status = WFM_Check (deviceNumber, chan, wfmStopped, itersDone, pointsDone)

Purpose
Returns status information concerning a waveform generation operation.

Parameters
Direction Name Type Description
Input deviceNumber i16 assigned by Measurement & Automation Explorer
chan i16 number of the analog output channel
Output wfmStopped i16* whether the waveform is still in progress
itersDone u32* number of buffer iterations completed
pointsDone u32* number of points written for the current buffer iteration

Parameter Discussion
chan is the number of the analog output channel performing the waveform generation operation.

Range: 0 or 1 for most devices.
0 through 5 for AT-AO-6.
0 through 9 for AT-AO-10.
0 through 3 for PCI-6711.
0 through 7 for PCI-6713 and DAQCard-6715.

wfmStopped is a flag whose value indicates whether the waveform generation operation is still in progress. If the number of iterations indicated in the last WFM_Load call is 0, the status is always 0.

0: Ongoing operation.

1: Complete operation.

itersDone returns the number of buffer iterations that have been completed.

pointsDone returns the number of points written to the analog output channel specified in chan for the current buffer iteration. For devices that have analog output FIFOs, pointsDone returns the number of points written to the FIFO if chan belongs to group 1. Refer to the Using This Function section for more information.

Range: 0 to (count/numChans) -1 where count is the parameter used in the last WFM_Load call and numChans is specified in WFM_Group_Setup.

You can learn more about Traditional NI-DAQ text based programming functions by going to the start menu >> National Instruments >> NI-DAQ >> Tradition NI-DAQ Function Reference Help. Here you will find descriptions for DAQ functions like the one above.

-Sal
0 Kudos
Message 6 of 10
(7,790 Views)
I noticed that the example you mentioned, wfmDoubleBuf.VDP, is located in the VBasic section of the examples. I have been following the examples from the VBasic with Measurement Studio folder. Can you use code from both types of examples in one application? What is the difference between these two?

Thanks,

Gerry
0 Kudos
Message 7 of 10
(7,790 Views)
Hi Gerry,

The basic reason that there are two different folders containing examples is that Measurement Studio is like a tool set that adds functionality to Visual Basic. If you did not have Measurement Studio, you could still write a VB program to acquire data from National Instruments hardware, and the programs in the VBasic folder are for that purpose.

Because Measurement Studio adds a lot of functionality and tools, there are other examples that take advantage of these capabilities. These programs are located in the Measurement Studio folder, and could not be used if you only had VB and not Measurement Studio. There should be no problem in using code from both types of examples in the same program.

-JohnM
0 Kudos
Message 8 of 10
(7,790 Views)
With the code examples using the non-measurement studio functions, do i need to include thos four modules that define all those functions?

The modules i am referring to are:

NIDAQ32R
NIDAQCNS
NIDAQERR
NIDEX321

THanks,

Gerry
0 Kudos
Message 9 of 10
(7,790 Views)
Hi Gerry,

Even though the examples are not using Measurement Studio functions, they are still using functions that interface with the NI-DAQ driver. You will need to include the modules that define the functions you are using.

JohnM
0 Kudos
Message 10 of 10
(7,791 Views)