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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Direct port access vi

Hi all,
 
Is there a vi or dll, which enables transfer of big amount of data via Ports?
My intention is to receive a lot of data via ATAPI interface. It is no problem to use the vis in the \vi.lib\portaccess.dll, but they read single U8/U16/U32. If I use these vi´s (basically dll´s) in a for loop in LabVIEW, it is not fast enough. I need a dll, which has big array output with the data, and recieves the data fast from the ATAPI device. There is a possibility by the TVicHW32 (you can take a look on http://www.entechtaiwan.com/dev/hw32/index.shtm). But I don´t want to install this, because I need license... Using the TVicHW32.dll without installing, so only copying doesn´t work.
 
I hope you have the answer
 
regards
Mitulatbati
0 Kudos
Message 1 of 6
(3,691 Views)

Hi,

Did you tried to use the IN and OUT-port VI's standard in LV

Message 2 of 6
(3,645 Views)
Hi
 
As I wrote, it´s not fast enough to use them in a loop 😞
0 Kudos
Message 3 of 6
(3,642 Views)

Hi,

With other software solutions on a PC running under Windows (I assume) it will not be faster then in LV.

Only when you write it in assembly it will be faster, but still with the windows overhead.

I think you have you solve this in hardware or an other OS (LV-RT or assembly in MsDos)

Why does it have to be so fast ?

0 Kudos
Message 4 of 6
(3,639 Views)

Hi

It has to be fast, because I write "Data Transfer Rate" tests, and I have to read a lot of data and measure the transfer time. With a slow transfer rate I can´t measure anything reliable. There is a routine in TVicHW32.dll, and it works perfect.

regards

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


@mitulatbati wrote:
Hi all,
 
Is there a vi or dll, which enables transfer of big amount of data via Ports?
My intention is to receive a lot of data via ATAPI interface. It is no problem to use the vis in the \vi.lib\portaccess.dll, but they read single U8/U16/U32. If I use these vi´s (basically dll´s) in a for loop in LabVIEW, it is not fast enough. I need a dll, which has big array output with the data, and recieves the data fast from the ATAPI device. There is a possibility by the TVicHW32 (you can take a look on http://www.entechtaiwan.com/dev/hw32/index.shtm). But I don´t want to install this, because I need license... Using the TVicHW32.dll without installing, so only copying doesn´t work.
 
I hope you have the answer
 
regards
Mitulatbati


Take a look at the OpenG portIO library. It may or may not be much faster but there is the source on sourceforge for the device driver and the user space DLL and with a Microsoft DDK, Visual C and some time you can extend it in any way you want (but you will need to know some good C or take time to learn it).

In fact you shouldn't need to change anything on the C side, a new VI reading an array of bytes instead of just a single skalar should already work. There might be however one more problem. When you say you want to talk to an ATAPI interface are you sure you talk to it over port IO and not some mapped memory adress. The OpenG port IO library won't work for mapped memory addresses as that requires lots of interaction with Plug&Play.

Rolf Kalbermatter

Message Edited by rolfk on 11-01-2007 10:49 AM

Rolf Kalbermatter
My Blog
Message 6 of 6
(3,630 Views)