LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FireWire Camera with IMAQ

I have the task of setting up a PC to run a scanner system that includes a FireWire camera (FireFly MV FFMV-03M2M).

The LabVIEW application executable was developed in LabVIEW 8.6, with Vision 2009.

I installed the firewire card and connected power from internal PC supply.

I started with a clean install of Win7 Pro x86, the PC autodetected the firewire card and found a driver.

I can see the firewire card and the camera in device manager.

I right-clicked the camera in device manager and searched for updates, the driver was updated.

I Installed LabVIEW Run-Time Engine 8.6 "lvrte861min" and installed Run-Time patch f5 "LV861f5patch", Restarted PC.
Installed LabVIEW Vision NI-MAQ 2009 driver "VAS2009.zip".

The camera is visible in MAX, I can grab frames in MAX.  The source code has default cam1 in camera reference box, so I've renamed the camera in MAX to "cam1", it was cam0.

When I run the application, it does not grab frames.  I receive the error message "IMAQdx Get Image, timeout".

 

What other settings may be required on the PC to allow the LabVIEW executable to run?  We've been using the executable on another PC for 4 years, so there's no issue with the execuatble.  I have annual paid up SSP.

 

I notice there are .icd files in the executable data folder, they have camera attributes inside.  Is is possible these must be manually imported?  The import wizard in MAX does not like .icd.

0 Kudos
Message 1 of 5
(3,546 Views)

It sounds like you're pretty close if you can see it in MAX. Do you only have the executable, or the source code as well? It may be very hard to troubleshoot with just the executable.

 

Were you able to grab frames using MAX?

 

Can you post a picture of the full error including error code?

 

Have you activated Vision Acquisition Software?

0 Kudos
Message 2 of 5
(3,520 Views)

We also have a system with FireWire cameras.  I can definitely say that it is possible to use such cameras with IMAQdx (we're running LabVIEW 2012 and 2014 -- I'm not sure about LabVIEW 8.6, but if it worked on one machine, it should work on another).

 

Managing the .icd and .iid files, however, is no picnic -- documentation is scant, and not everything works as you'd like.  Of the two, the .iid has the Camera Interface information -- this may need to be "hand-tweaked" to get your FireWire camera to show up.

 

As Fate has it, I've just left work, and will be "out" until early next week, so can provide only limited help.  The Good News is that both of these files are text files, so if you can find and suitably edit them, you can probably get them to work.

 

If you have two systems, one on which your Camera runs just fine, and another where it shows up in MAX, but doesn't seem to integrate properly with your Executable, we might be able to find/edit the appropriate .icd and .iid files.  It should be noted that the data in these files can also (as I recall) be modified by LabVIEW, so there's a possibility that your compiled code is messing you up.  But let's be optimists and hope we can fool the system.

 

So I'll soon be getting on a plane, but expect to "plug in" and be able to respond in a day or two.  Can you verify that you have a working system on (let's call it) the Original PC?  If so, can you post a screen shot of the MAX Devices view and indicate which is the FireWire camera that works with your existing code?

 

Bob "Optimist" Schor

0 Kudos
Message 3 of 5
(3,514 Views)

thanks for the responses, some more background on the activity and objective. 

The company use the LabVIEW executable in conjunction with the firewire camera for testing product and have done so for the past 4-years.  The PC that was used previously is no longer capable because it has been reconfigured for another application, new drivers and settings have probably conflicted with those required to run the executable required to test product.

The company need to test product, so have asked me to make it work again.  I have decided to start with a new PC and clean install of Win7 Pro, mainly so I have a dedicated PC that will become the dedicated PC for the rig, locked down to prevent unauthorised interference, I will record and archive version description of PC to ensure test rig can be recreated in future.

The immediate task is therefore to reverse engineer the PC build and config (Version Description) to enable testing of product to resume as before.

I have looked at the source code and it appears to load the camera config from file.  CameraMode is hardcoded to False one level up.  The camera config file is present in build folder (always included in build properties).

The license for 2009 vision has been activated.  The path of the exe and always included files on new PC is identical to old PC.

cameraLVdiagram.jpg

The error is TimeOut, source NI-IMAQdx Get Image.vi, I think this means it's waiting for a frame from the camera but it's not arriving.  MAX receives frames from camera okay.  Note the error is generated from a bit of code downstream from the G-Code image above.

I'm reluctant to recreate the development environment on the new PC to start probing at LabVIEW wires, I will just see the same error.  The executable cannot change, therefore a software component or setting below the level of the executable is not as the executable requires, or the camera attributes are somehow incompatible with IMAQdx Get Image.vi.

 

camereError.jpg

I've since copied the .iid file from old to new PC, I notice it references the .icd file, but it does not appear to contain any data of significance.

Any ideas on what else to look at?

 

0 Kudos
Message 4 of 5
(3,474 Views)

the .icd files are same as original working version of LV application, I pulled an archived version from SVN and done a notepad++ compare.

Can there be anything that is preventing the camera starting?  What are the possible reasons that NI-IMAQdx Get Image.vi would result in a TimeOut.

0 Kudos
Message 5 of 5
(3,453 Views)