From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

output a digital signal with 6533 from a txt file

Hello,

I start with labview and I am using the PCI-DIO-32HS (6533) to output a digital signal.

I have to generate a digital signal with the 0-1 values from a txt file (I have attached a typical txt file). This signal must have a variable frequency (typ. 1.2Mhz) that the user can change. The level of the 1 (the amplitude: Vcc) should be variable too (1v<Vcc<7v).

 

1: it is possible to choose different amplitudes for a digital output in the NI 6533?

2: Should I use the DAQmx - Timing VI?, and how?

 

3: Should I generate a digital waveform direct with the String-table to Digital data (VI) or should I copy the one and zero values to an array and then output these values with the help from de DAQmx timing?, and how?

 

4: I´m trying with the attached VI but the -200077 error appears and maybe I´m doing a lot of wrong thinks. What can I do to improve that or should I do in another way?

 

I will really thank for the help and advice you can give to me.

0 Kudos
Message 1 of 6
(5,108 Views)

Hello,

 

1) It is not possible to vary the amplitude by a great degree with this board. The generation output levels are 0V to 5V, with the specifications indicating the min/max for those levels. It is set to output TTL only.

 

2) DAQmx Timing VI sets up the sample clock for your generation. If you wish users to select the frequency to output the data in your text file, you would add a control to the sample rate input to this VI. Therefore, users can change the frequency of the board generation from the front panel.

 

3) Whichever way is suitable for your application. Copying into an array constant is probably more cumbersome to maintain, but your current method seems to be the best way to output from a file. We also have examples in Example Finder inside of LabVIEW that may provide other ways of handling file I/O and generating digital data from file.

 

4) 200077 indicates an unsupported value for a property type. I would carefully review the error message presented to you in the error dialog window, as it should give you instructions on how to correct this error.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 2 of 6
(5,101 Views)

Hi,

Thank you for the answer.

I had a look to the examples and tried…

But I continue having the following problem with my VI:

error -200077
Possible causes:
Desired value is not supported for this property.
Feature: output. buffer size
Requested value: 45529
Increment for buffer size: 2

 

I understand that I should increment the buffer, but how can I do that?

 

I tried to attach the vi file, but this message appears: the contents of the attachment doesn´t match its file type.

Do you know what can I do?

Thanks in advance.

0 Kudos
Message 3 of 6
(5,087 Views)

The error is stating the increment as to be an even value (increments of 2 starting at 0) so to correct the error, your requested value should be 45530 or 45528.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 4 of 6
(5,085 Views)

thank you,

1)      Sorry, I don´t understand what that means. I just changed my txt and now I don´t have this error. But how can I if I want that the vi works with all txt files?

2)      Now I have another problem: error 200463

I can´t write only in one line of the port 0, because the 6533 don´t allow that.

So I select the all port to write in it: Dev1/port0/line0:7

The problem is that signal I generate have only one line data and I need a digital signal with 8. How can I transform my digital signal? (the value is not important, also I need to put the other 7 lines in tristate, what means that exactly?)

 

thanks in advance, once again..

0 Kudos
Message 5 of 6
(5,077 Views)

You need an increment of 2 for the file/buffer size. Hence, 2, 4, 6, 8, 10, even numbers. You had a number with a 9, which is odd. What are you having trouble understanding?

 

If you write a U8, the LSB of that U8 ends up being ch 0, while the MSB ends up being ch 7. A U8 is a byte of data, which represents one channel per bit. I'd encourage you to read the help manuals to find out more information on how port format is used with this device.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 6 of 6
(5,070 Views)