LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

UDP/TCP-Support for LabWindows/CVI on RT-PXI-System

Hi,

I needed to implement an existing communcation protocol on a RT-PXI-System. This communiction just needs a small platform abstraction layer (PAL) which allows simple commands as read/write/open/close communication channel. I decided to write the PAL in CVI and not in Labview, because this would be more complicated to use with the c-program of the communication protocol. I had to use TCP communication, which is really inconvenient for a fast RT-like communication. However i managed to get it to work with ServerTCPRead/Write etc. I call dll-functions of my communication-protocol from Labview, because i need some of the Labview features, as accessing the FPGA cards. It runs, but the performace is really quite bad. It works considerable better by switching to half duplex, which i understand could only be the case if the implementation of the TCP-Stack is somehow strange. With half duplex mode i barely manage to get the desired performance, but i have to use quite big buffer to get a continuous data stream. I am not very comfortable with this and i think this should work better.

So my questions are:
1) Is it really still true, that there is no UDP-API for Labwindows/CVI running on a RT-PXI-Target? Or have i just missed something? I find it quite unbelievable that this really basic feature is not implemented. I do not need any fancy Server/Client-Thread implementation (in fact i really would prefer to use a more standard API similar to Linux/Windows).
2) It seems that only blocking communication (at least waiting 1 ms) is possible. Any chance to change that? I just avoid this blocking by having a seperat communication thread.
3) Are there any hints on how to improve the performace; apart from turning of the buggy full fuplex mode? What is the TCP-Buffer size?

Software: LabWindows/CVI 7.0, Labview 7.1
Hardware: PXI-8187 controller

Regards,
Andy

P.S.: Sorry, I accidently posted this at first in the wrong forum (Measurement Studio  for  .NET..)
0 Kudos
Message 1 of 3
(3,313 Views)

In this Thread this topic is discussed, too. An Example for an UDP Implentation in CVI is attached. Unfortunately it uses the Windows SDK, so it will not work on an RT system.

 

http://forums.ni.com/ni/board/message?board.id=180&message.id=11848&requireLogin=False

 

Maybe it still helps....

Message Edited by Andre_Saller on 01-19-2006 03:35 AM

0 Kudos
Message 2 of 3
(3,278 Views)
Thank, for the info. But i allready had found this one. As it said it will not work on RT i didn't even bother to try it.

Andy
0 Kudos
Message 3 of 3
(3,271 Views)