High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

You cannot write data outside the boundaries of your waveform on HSDIO

Hello,
I am trying to help my customer to clean up his HSDIO code by breaking down the process of initialization, generate and read waveform and close. The idea is to reduce the amount of times that he have to initialize and close the read and generation task of HSDIO.

When I do this, I can run the HSDIO initialize and load the waveform and generate, but after 2 times of successful generation, I got this message during the third generation :

niHSDIO Write Named Waveform (1D U32).vi<ERR>Driver Status:  (Hex 0xBFFA4AC8) DAQmx Error -200311 occurred:
Measurements: You cannot write data outside the boundaries of your waveform.

Make sure you are not trying to write more data than your waveform can accomodate and that your write location and write offset are set correctly.

Status Code: -200311

The error can easily be replicated by editing an example code to do initialize, load a same waveform 3 times to the HSDIO such as the file attached.

There is not much information on the error so my question is what is going on inside the HSDIO that causes the message? If someone would like to simplify HSDIO call, what would be the best practices to do that?

Regards,

James G
- Meadow -
LabVIEW 7.0 - 2011, Vision, RT, FPGA
TestStand 3.0 - 4.5
0 Kudos
Message 1 of 2
(7,150 Views)
Hi James,

Correct me if I'm wrong, but the way your post is worded I am assuming that the actual VI that you are helping your customer with does not make a call to the niHSDIO Write Named Waveform.vi three times in a row (you are just using this programming flow as a means to reproduce the error easily for our discussion).

In any case, calling the Write Named Waveform VI multiple times with a waveform that has the same name is incorrect.  Step 5 of the example you modified, "Dynamic Generation of Multiple Waveforms" states "Write digital patterns to the onboard memory of the digital device. Because you are downloading multiple waveforms, you must give them unique names."  I can reproduce the error with your attached VI by only calling the Write Named Waveform twice in a row with the same waveform name.  The first call to the Write Named Waveform VI allocates the amount of space required for "mywfm1", which in your case is 100 elements.  Subsequent calls of this VI in your attached example are trying to write 200 elements to the space allocated for "mywfm1", so the error that you are getting is because you are writing to the same waveform with more data than was originally allocated.

If your customer runs the example Dynamic Generation.vi three times in a row (which only uses one instance of the Write Named Waveform VI), does the third time cause this error to be produced?  Also, what HSDIO device is your customer using?

Regards,
Andrew W
National Instruments
Message 2 of 2
(7,140 Views)