PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

streaming using ethernet

Hello

 

i looking for a suggestion a practical one. i want to stream data using ethernet cable from controller pxie 8130 ethernet slot,i have connected the controller to my PC using an ethernet cable(like form pxi 5142 digitizer onbord memory to controller 8130 memory and then from controller  memory to my PC).

 

1-Can i make an application for acqusition on my PC labview, then using this can i acquire the data direct form controller

    memory to PC memory.

 

2- Or  i have to store my data first form digitizer to controller Hardisk and then from controller hardisk to pc  i can move

     it using some other application like clint/server since it then would be a file to transfer.

 

3- what can be the bottleneck's if the memory of PC,controller,digitzer is 256Mb each.

 

 Regards 

0 Kudos
Message 1 of 6
(3,513 Views)

Hello COMSIS, 

 

Let's brake this down into small parts here and step through the data as it goes from signalall the way back to host computer. I'll assume that you are sampling on one channel at the full rate.  Since we can sample at 100 MS/s and each sample is streamed back as 2 Bytes of data, we would be streaming at 200 MB/s whichshould work with your chassis (should be a 250 MB/s limit as per PCIe spec's).  So, your card will not be a bottle neck.

 

Once you bring the data back into LabVIEW, you will more than likely have to use a producer/consumer architecture.  Your producer loop will put your data into a queue that will be read out in your consumer queue.  In the consumer queue you will want to use TCP comunication to stream your data back to your non PXI computer.  This DevZone outlines how you would do it in an embedded application, but you can also use it with a Windows based PXI system.

 

Here my knowledge of LabVIEW memory allocation and TCP communication speeds is a little lacking, so we might not be able to keep up with the data rates and so you may need to go with your other idea of storing it to a disk and then FTP'ing it back to your host computer.  To get the best answers, I would post the second half of your question on a LabVIEW board and just include a link back to this thread.  Once you post there, post back on this thread with a link to the LabVIEW post so that anyone who comes onto this post later can get the complete answer.

Message Edited by ColeTrain on 01-27-2010 05:52 PM
ColeR
Field Engineer
0 Kudos
Message 2 of 6
(3,501 Views)

Helloo

 

tnx for the suggestion i have worked it out making queue. i am using rfs IQ demo to acquire IQ samples form digitizer an writing them in a queue then in consumer loop i  have dequeued my data and give it to TCP write to write it on TCP port. But the time the sending side listener port vi takes is so much more that during that port listen time About 200MB are fetched from Digitizer. Now the problem is that reciving is too slow that the vi gives an error since memory is overwritten or the queue is overflowed. due to which i have decreased my sample rate to 1M and samples per fetch to 16K now receiving side received more bytes then before but. what i am acquiring is 1M x 0.8 times bandwidth which is almost no bandwith i am acquiring.is there any way to reduce this listen time so at least i increase my sampling rate and samples per fetch

 

second part of story using  udp i have a bottleneck that i can not send more than 65K bytes. which results in worst situation then TCP

 

Regards

0 Kudos
Message 3 of 6
(3,468 Views)

Hello COMSIS, 

 

How crucial is it that we are streaming this data? Are you doing processing on this immeadiately?  One approach would be to write the data to disk and then stream it out whenever you can get to it.  Again, I would post to the LabVIEW forums about this one as you will get a lot more traffic over there and also some very smart cookies.

ColeR
Field Engineer
0 Kudos
Message 4 of 6
(3,460 Views)

Hello

 

It is acctually requirement of my application i have to use ethernet  to stream data. No i am not doing any kind of processing . i am just acquiring on servers side and saving it to a file on client side. i have been waiting  for ur post to the LabVIEW forums about this one .....................anxiously

 

Regards

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

Hey COMSIS,

 

I don't know if you were referring to this post, but I would recommend posting in a completely new thread with your requirements to get the most attention from other users.   

ColeR
Field Engineer
0 Kudos
Message 6 of 6
(3,437 Views)