LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

High speed UPD (Gige) Packets read

Hi All, 

 

what is the best / fastest method to read in UDP ( Gige Vision) packets in labview using PXIe 8238 10 Gige ethernet network card. Without using NI IMAQdx drivers. The reason for not using IMAQdx drivers is that they donot support all the Gige vision commands. 
I was looking at winpcap/npcap drivers but was not sure if they can be used to read in every ethernet packet and then do sort of a post processing to extract only the GIGE vision packets.

 

does anyone have any pointers ?

Thanks  

 

0 Kudos
Message 1 of 7
(902 Views)

It depends (critically) on what you want to do, and the real requirements (including whether the integrity of the data is a critical factor, or whether missing or out-of-order packets are acceptable).

 

It sounds like "speed is important", which suggests that you might not be doing a lot of processing other than streaming data to some form of storage (presumably disk).

 

Does the manufacturer of your camera provide hardware/software solutions for acquiring your data, utilizing all of the features of the camera?  Under the assumption that it does, and that it has a method of streaming video to disk at an acceptable rate, you might consider creating an "Acquisition" program to create an appropriate video file, and use LabVIEW Vision to read and process the resulting images.

 

I know that this does not directly answer the question that you asked -- I'm not trying to be "irrelevant", but to suggest another possible "solution" to the underlying challenge you are facing.

 

Bob Schor

0 Kudos
Message 2 of 7
(856 Views)

Hi Bob, 

 

thanks for your answer , actually no i donot think that what you said is irrelevant. 

so basically the hardware streams data from multiple camers. The data is streamed using gige vision packets (jumbo frames), the real requirements are 

1. Stream data fast and store it to disk 

2. Lossless transmission so the data packets  cannot be missing or out of order 

3. Post processing in the form to just visual the data from camers ( but here speed is of not important) 

 

I already have contacted the hardware supplier that if there is some sort of application that streams the data directly to disk or no( still waiting for an answer) 

 

I know that with IMAQ drivers its possible to stream upto 60 fps ( in some cases ) but as I mentioned it only works if it is compatible to NI requirements. 

on the other hand at the end the gige vision is just an UDP protocol and I thought maybe there is already some way capturing high speed UDP data using a 10 gige PXIe card in labview. 

 

0 Kudos
Message 3 of 7
(848 Views)

The fact that the Network path is a "private line", with the Camera on one end sending Frames in strict order, and the PC/Frame Grabber is on the other end, the lack of ordering in UDP might not be a problem (sorry for my sloppy thinking, above).  

 

Can your PXIe card "see" the camera in MAX?  Have you tried a Grab (or even a Snap) with MAX?

 

I've explored some of the "bells and whistles" of the GenICam protocol used by USB Cameras (and IMAQdx), and have encountered similar frustrations between what the Manufacturer says are the Camera's capability (and which works with their proprietary driver), but when I try to do the same thing with IMAQdx using similar calls that should go right to the camera hardware, it (shall we be kind, here?) "doesn't always work".

 

LabVIEW Vision remains something of a Black Art.

 

Bob Schor

0 Kudos
Message 4 of 7
(833 Views)

The camera can be seen with ni max but once I click it, i am greeted with an error “camera xml cannot be loaded”. 
upon doing a bit of search I found that xml flie is under  .../IMAXdx/data/ 
but the camera descriptor file(*.icd) is empty  I guess if I can write this *.icd file , i should be able to control the hardware via Ni Max

 

True , i do hope one of these days someone reverse engineer the IMAQ black art 😃

 

would make things easier to integrate third party Gige vision hardwares. 

0 Kudos
Message 5 of 7
(806 Views)

@AliA15 wrote:

The camera can be seen with ni max but once I click it, i am greeted with an error “camera xml cannot be loaded”. 
upon doing a bit of search I found that xml flie is under  .../IMAXdx/data/ 
but the camera descriptor file(*.icd) is empty  I guess if I can write this *.icd file , i should be able to control the hardware via Ni Max

 

True , i do hope one of these days someone reverse engineer the IMAQ black art 😃

 

would make things easier to integrate third party Gige vision hardwares. 


About a decade ago, I started diving into this "Black Art" and made a little progress.  Since you've found the .icd file, you might be able to use "generic contents" that worked for the Axis cameras we were using.  The .icd file is formatted like a .ini file.  When we created them, we simply filled them initially with the text I've attached (if I remember to do so!), and then used MAX to do further exploration (and to add other settings).  See if this works for you.  One of the trickier parts, as I recall (vaguely), was getting the name of the .icd file correct, and linking it properly with the corresponding .iid file.

 

Bob Schor

 

P.S. -- the Forum wouldn't let me attach a text file with the extension .icd, so I'll either have to Zip it or rename it.  You'll want to call it "Generic.icd".

 

 

 

Message 6 of 7
(791 Views)

Thanks a lot.

 

I will try the same. Maybe this lets me atleast interact with the hardware via NI MAX. I will give an update later in the week.

0 Kudos
Message 7 of 7
(760 Views)