Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

legacy imaq1394 acquisition not working anymore giving error -50353

Highlighted

using NI Vision and NI Vision Acquisition software version 8.6, with legacy imaq1394 driver.

 

my acquisition system does not work anymore: using an IEEE1394 camera (i tried with 3 different models), NI-MAX says "not enough memory" when i start an acquisition. the camera validator utility works like a charm, and using a software written in C (with LabWindows/CVI) i can only make single frame acquisition. 

 

after insisting a bit, the system went worse: calling imaq1394ConfigureAcquisition() returns an error -50353... this error code does not exist. what is this error ?

 

i tried uninstalling all vision and acquisition software from NI then reinstalling them without success. how can i get my system working again ?

0 Kudos
Message 1 of 15
(5,851 Views)
Highlighted

Hello,

 

What is the size of the image you are trying to acquire? The not enough memory error is usually returned when the system hasn't enough contiguous memory available. Some more info on this is available in the following KB:

 

http://digital.ni.com/public.nsf/allkb/1922FCDCE6623ABC8625735300592793?OpenDocument

 

The error -50353 actually has the following description: 'One or more memory pages in the specified logical buffer could not be locked into physical memory. The operation could not be completed as specified.' (If you looked up the error, make sure you don't forget to include the minus sign). So it does seem like there is a problem getting access to the necessary memory to store the image.

 

According to your explanation, they worked with previous driver versions? What version of the driver where you using before. Did you modify anything to the system itself? Could you give some more information on the system you are using?

Message Edited by Michiel Herman on 12-09-2008 01:44 PM
Best Regards

Michiel
Applications Engineer
NI Belgium
http://www.ni.com/ask
0 Kudos
Message 2 of 15
(5,835 Views)
Highlighted

the system is a standard PC running Windows 2000 SP4, Pentium 4 3.00GHz 1GB RAM, connected to an AVT Stingray F146B camera, through a Belkin Firewire PCI board. the camera is configured as Format 7 mode 0, which means an image size of about 1400x1010. everything was fine with the drivers coming with NI Vision 8.5. the problem seems to have appeared since i removed another Firewire PCI board which was also used for camera acquisition. since, i tried updating the acquisition software, which is now running NI Vision 8.6 with driver version 2.0.5f5, and the problem is still there.

 

strangely, my documentation of NI-IMAQ for IEEE1394 documentation does not list -50353 as a possible error code. also, imaq1394ShowError() was returning an error and gibberish in the message buffer. the documentation is labeled: March 2005 Edition, Part Number 370282D-01 (which does seem strange since i installed it using the "Vision 8.6.0 Acquisition Software" CD. no change since 2005 ?). i tend to regularly update my NI installation, i hope there is nothing left from a previous version of the drivers.

 

one thing i forgot to mention: in MAX, i have the same error wether i'm using the legacy IEEE1394 driver or the new IMAQdx driver. i did not try IMAQdx in my software (i have to rewrite some part of the acquisition code to do so).

Message Edited by dummy_decoy on 12-09-2008 09:19 AM
0 Kudos
Message 3 of 15
(5,828 Views)
Highlighted

Did you already try doing an uninstall / reinstall of the drivers? The IMAQ for IEEE1394 is a legacy driver, which has been replaced with IMAQdx. To allow people to continu using their application instead of needing to modify it to IMAQdx, the legacy driver is still included. It is however no longer being update, which clarifies why the documentation shows a date some years back. The -50353 error code is a general error code, not related to imaq specificly, which is why you can't find it in the IMAQ documentation.

 

Since it is an error related to acquiring the memory resources, it does seem like the driver has a problem getting access to the needed amount of memory. Also, since it is a legacy driver, there isn't anything change in the driver normally.

 

Could you perhaps try a complete uninstall of the driver and reinstall it afterwards? When using a smaller image size, is the problem also showing up? Could you verify the driver for the other firewire board has been uninstalled properly when you removed the firewire board? 

Best Regards

Michiel
Applications Engineer
NI Belgium
http://www.ni.com/ask
0 Kudos
Message 4 of 15
(5,805 Views)
Highlighted
Hi, I believe the error code and its possible reason(s) should be stored somewhere in the computer. Is it in some *-errors.txt file or some Help file? Could you advise me on where I can find this general error code? Thank you & Regards
0 Kudos
Message 5 of 15
(5,452 Views)
Highlighted

Hi

 

You can check the following KB on where to find explanations of error codes:

 

http://digital.ni.com/public.nsf/allkb/FD9FEFCDD2F95C29862572AA006AC909?OpenDocument

Best Regards

Michiel
Applications Engineer
NI Belgium
http://www.ni.com/ask
0 Kudos
Message 6 of 15
(5,400 Views)
Highlighted

this KB article is quite funny:

"Because error codes are being added to National Instruments software continuously, a list of error code ranges is not maintained"

 

does this really explains why this error code is not documented in any help file installed with my NI products ?

 

i don't think so... and i'll prove how retarded this article is. let's put up another KB article: "since functions are continuously being added to the runtime library of CVI, a list of functions is not maintained. but you can find a list of functions in the header files." does this sounds right to you ? let me know...
0 Kudos
Message 7 of 15
(5,393 Views)
Highlighted

Hi decoy,

 

I agree that the wording of the KB is quite silly. The underlying reason of why we don't have comprehensive error codes listed in our header files is due to the interactions among many different software layers involving internal components from NI that don't always have a customer-facing header file.

 

The error code you received is coming from an internal platform abstraction layer (NI-PAL) that is sitting between IMAQdx and Microsoft's firewire driver. In general, many error codes that this layer returns are translated into IMAQdx errors before being returned by the API. However, not all of them are translated, usually because they are unknown/unexpected or possibly new.

 

Now, when you are using LabVIEW, each product group at NI (including for internal components such as NI-PAL) installs an error description file into LabVIEW that allows it to translate errors from any NI product. This lessens the impact of non-translated error codes for LabVIEW customers. As far as I know, we don't have such a component available under CVI or C to achieve similar functionality. Thus, when an error code is returned by an underlying component that IMAQdx doesn't know how to translate, it will return it directly and unfortunately I don't know of a programmatic way in CVI to decode that error.

 

To address your original problem, I think you are just simply running out of RAM. When acquiring from firewire cameras, IMAQdx is going to want to allocate DMA'able, contiguous physical memory as large as your image size. With that stingray returning a somewhat large 1MP image, it is quite possible the OS is not able to find enough contiguous pages to create a ring of several of these buffers if you only have 1GB of memory total in the system. Windows maintains various pools of different types of memory and while you might have plenty of normal memory available, it might be getting exhausted of the type needed by the firewire driver.

 

Hope this helps, 

Eric

 

 

0 Kudos
Message 8 of 15
(5,385 Views)
Highlighted

thanks a lot for the information regarding the error codes.

 

about my original problem: it seems it was due to a general driver problem on my windows setup. i started having a lot of problems, not only with firewire driver, after fiddling with samples and tools in the Windows DDK and "experimenting" a lot... bad idea.

 

what is strange, is that the acquisition software provided with the Stingray, which runs its own firewire driver, was working fine at first (that's about at this time that i posted the original question). after some weeks, things went so bad that i could not acquire any image anymore, (and also could not install/uninstall some softwares) and i resorted to a complete reinstallation of the system. everything is working fine again.

0 Kudos
Message 9 of 15
(5,381 Views)
Highlighted
Hello,

I am facing a similar problem. After working fine for several months, my image aquisition VI produces the same error code.

On the nature of my system and the VI: I am using this VI to aquire a large number of frames, usually around 1000 - 2000, at a rate of 3.75 fps. To achieve this, I use an ImagingSource IEEE-1394 compatible CCD camera, which is linked to the FireWire port of my PC (Standard PC w/ Pentium IV 2.8 GHz processor, 768 MB ram, 40 GB HDD - LabView 8.5 + VisionAquisition 8.6). The VI is programmed to aquire a defined number of images by use of the IMAQ1394 Sequence aquisition tool. Recently it started to produce error -50353 and cancel during the aquisition process.

After reading the thread above, I cleared some memory by uninstalling non-necessary programs from the PC, clearing out the autostart folder and shutting down the autostart function of various programs, all to no avail.

Help very appreciated!
P. Bohr
0 Kudos
Message 10 of 15
(4,736 Views)
Highlighted

Hello again,

I should add: after re-installing the VAQ 8.6 driver package, the error message changed to "Not enough Memory" (with a very long number as error code).

Also I should mention that another Image Aquisition program, which was delivered with the camera, still works fine.

Regards,
P. Bohr

0 Kudos
Message 11 of 15
(2,141 Views)
Highlighted

P Bohr,

 

What image size are you trying to acquire? Also, how many images are you acquiring in your sequence? If you reduce either number, does that help?

 

Eric 

0 Kudos
Message 12 of 15
(2,117 Views)
Highlighted

Hello,

the images are around 200 x 700 pixel, slightly above 100 kB in size, if I remember corretly (they're taken by using mono-8 pixels). Aquiring a max. of 400 is possible, more produces the said error, as I have found out.

P. Bohr

0 Kudos
Message 13 of 15
(2,094 Views)
Highlighted

Hi,

 

I also have the related error code -50353. While I was using NI Thermocouple to get the temperature values from 8 channel of device, I got a the error -50353 after some executions. I am using While loop to get the values continuously.

 

Why do you think ı got this error?

 

 

Thanks,

0 Kudos
Message 14 of 15
(1,810 Views)
Highlighted

Also, As ı look up, I saw that Labview is using increasing memory space . The program starts with about 140MB of memory usage. Then it crashes with error code -50353 when it is using at about 750MB of RAM space.

 

How can I handle this?

 

Could you help me? 

0 Kudos
Message 15 of 15
(1,807 Views)