LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

8451 USB DIO MODE MIN WRITE TIMES

Hi Has anyone got a handle on the maximum achievable write speeds using the DIO Port or Line vi's .Maximum 1 - 0 - 1 that i can achieve using 2 vi's in a while loop is about 6mS between states. Is there a faster way of writing to these devices other than using these vi's?
 
thanks
0 Kudos
Message 1 of 5
(3,059 Views)
Hi,
 
The isn't really another way to output from the device  aside from those labview VIs. Do you have any other functions in the loop?
Sarah

Applications Engineer | National Instruments | UK & Ireland
Message 2 of 5
(3,029 Views)

Hi Sarah , thanks for your response .Im only using either two DIO write port or two writeline vi's within a while loop ( both about the same timings ). With first a 0 written then a 1.So i get a 1to 0 transition every 6mS. Im surprised  since calls to  the I2C and SPI vi's are very much faster doing similar repetitive calls. I think there must be some internal firmware trade off in the 8451 in favour of i2c and SPI.?

thanks dht

0 Kudos
Message 3 of 5
(3,020 Views)

Hi dht,

The DIO lines on the 8451 are static and so are software timed. The SPI lines have got hardware clocks to control the data rates. With the DIO lines you're limited by the speed at which windows can update the driver and hence the output from the device. If you need faster DIO output rates you may need to consider a board with counters as these will have hardware timed digital lines.

Sarah

Applications Engineer | National Instruments | UK & Ireland
Message 4 of 5
(3,012 Views)
You may also consider using the scripting VIs located in the advanced palette of the NI-845x . They allow you to build a pulse pattern for a specific line on the DIO port of the device. You first create the script by using the scripting functions and then you execute it with the Run script vi.

Now can someone tell me the maximum timing resolution I can achieve using these scripting functions? I'm using DIO port of a USB-8451 device to generate a pulse train to a stepper motor controller. The frequency I need to generate on the DIO line is 250 Hz, so I use the scripting VIs in a loop to generate a pattern of "1" and "0" all separated by a 2 ms delay which is added by the Script delay function. Then is exit the loop and run the script.

When I run that script, I get a pulse train with 4 ms period except at every 8 cycle, where the period is about 6 ms. This make my stepper motor not running as smoothly as when I test it with a function generator. Can anybody help me with that ?

Tijarmin
0 Kudos
Message 5 of 5
(2,800 Views)