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.

Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

legacy imaq1394 acquisition not working anymore giving error -50353

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
(8,082 Views)

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
(8,066 Views)

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
(8,059 Views)

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
(8,036 Views)
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
(7,683 Views)

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
(7,631 Views)

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
(7,624 Views)

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
(7,616 Views)

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
(7,612 Views)
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
(6,967 Views)