PDA

View Full Version : Error using IC_Grab_Picture.vi



Terry Sopkow
December 6, 2011, 20:26:21
I am using the IC_Grab_Picture.vi in my application and I get an Error 1097 when I execute my code. I have had my application work with this vi, but when I make changes to my main vi the IC_Grab_Picture will start failing. I am not sure what I do to get it working again. Attached is the error message that I am getting. I am using Labview 2010.

Terry

1435

Stefan Geissler
December 7, 2011, 08:39:44
Hello,

I must admit, I see this error message first time. I suppose, you use a 32 bit version of LabVIEW. In order to narrow down the problem, I suggest to create a new project and implement step by step, what you did in your application. Maybe you can find the point, where the error occurs.

I think, asking the LabVIEW support is not as helpful, they will point to me again. But it may is worth a try, they know best, how LabVIEW works.

Terry Sopkow
December 7, 2011, 15:10:18
Stefan,

I am in the process of doing that now. I started with using the IC Labview Picture Example. This has the IC_Grab_Picture.vi in it. This is working fine. So it is obviously something that I am setting up in my application. I am using the rotate filter, which I beleive is causing me the problem. I will inform you when I have more information.

Terry

Stefan Geissler
December 7, 2011, 16:45:20
If you use frame filters, you must remove them from the IC Activex at end of program, because LabVIEW does not reset the ActiveX as normal programming languages do. That means, each time you start a new debug run, the rotate flip filter is added again and again in a chain. You may use the "IC_Clear.VI" as first vi connected to IC ActiveX.

Terry Sopkow
December 8, 2011, 17:36:18
Stefan,

Here is what I have found to be the problem. It has to do with the MemoryCurrentGrabberColorformat. I have two cameras (DFK31AU and DFK31BU) if I use the Showdevicesettingsdialog to select the camera, the IC_Grab_Picture.vi runs with no issues. If I use the IC_RestoreSate.vi to select the camera from a saved file, the IC_Grab_Picture.vi will produce the error. Tracing all the vi's back it appears to be the setting of the MemoryCurrentGrabberColorformat that occurs in a vi called IC_OpenDevice. It uses one of two constants (RGB32 or Y8) depending on color input. The cameras I have however have the following choices in the settings dialog:

DFK31AU (BY8, Y800, YUY2)
DFK31BU (Y800)

In Labview, properties for IC Control can be set in one of two places in the control itself using the property browser or on the block diagram using property nodes. If I change the setting of MemoryCurrentGrabberColorformat to anything other than Y8, the IC_Grab_Picture.vi fails. However if I start with a fresh control and open the device via the Showdevicesettingsdialog and then view the value for the MemoryCurrentGrabberColorformat in the property browser it will be unknown. However if I view the value from the property node it will either be Y800 or RGB32. What does not make sense to me is that it changes randomly to either one of these values (does not matter which camera is attached).

For the two cameras that I am using what should I be setting the MemoryCurrentGrabberColorformat too and how to I make that value work?

Does the dll work with all the other color formats?

Terry

Stefan Geissler
December 9, 2011, 08:56:08
Hi Terry,

The default value of MemoryCurrentGrabberColorformat is ICRGB24. In case you use colored images, you change this node pro write and set it to ICRGB32. Then you can call startlive.