Yes. The card is rarely the problem, provided it is an OHCI-compliant host controller. Two things decide whether you get frames: whether the camera speaks the IIDC/DCAM protocol, and whether the NI 1394 camera driver owns the device instead of Windows.
When this fails, you usually see one of two things. Either the camera never appears in Measurement & Automation Explorer (MAX), or it appears but the grab window stays black. Check the camera type first. It rules out the most common dead end in under a minute.
Read the symptom before touching the card
Do not swap the FireWire card first. That wastes the most time. A standard OHCI adapter from any vendor presents the same register interface to the OS. Work through the symptom instead:
| What you see | Most likely cause | First check |
|---|---|---|
| Camera missing from MAX, present in Windows Device Manager under imaging devices | The Windows class driver owns the camera | Reassign the camera to the NI 1394 driver |
| Camera missing everywhere | No bus power, bad cable, or a non-OHCI controller | Check the port type (6-pin vs 4-pin) and whether the controller is listed as OHCI in Device Manager |
| Device is a DV camcorder and never shows as an IIDC camera | The camcorder uses the AV/C DV protocol, not IIDC | Read the camera manual for IIDC/DCAM compliance |
| Camera in MAX, snap works, grab drops frames or stalls | Isochronous bandwidth or packet size set too high for the bus | Lower the frame rate or resolution, or remove other devices on the bus |
| Camera in MAX, video mode selection fails | The requested format, mode, or rate is not in the camera's supported list | Pick a mode the camera reports in MAX |
Know why the camera protocol matters more than the card
FireWire is only the transport. The video protocol riding on it decides which driver can read it.
- OHCI host controller. OHCI is the Open Host Controller Interface for 1394. Most PCI 1394 cards follow it, whatever the brand. The NI 1394 driver talks to the OHCI stack, so the card's brand does not matter. Very old or proprietary non-OHCI adapters are the exception.
- DV camcorders. Consumer camcorders with a FireWire port stream compressed DV using the AV/C command set. That is a different protocol. The IIDC driver will not enumerate them. To get camcorder video into LabVIEW 7.0, you need a DirectShow-based path. That means a third-party ActiveX or DLL capture component called from LabVIEW, not NI-IMAQ.
- Isochronous bandwidth. Video uses isochronous channels on a shared bus. On a 400 Mb/s 1394a bus, uncompressed high-resolution color at full rate can use most of the allocation. A second camera or a disk on the same bus can push the total over the limit.
Bind the camera to the NI driver and grab a frame
Check NI's driver readme or compatibility table for the matching release. Also check the licensing and activation requirement for that release before you deploy. Then:
- Install the 1394 camera driver after LabVIEW 7.0, so its VIs land in the LabVIEW palette.
- Plug the camera into a 6-pin port, or use an external supply. A 4-pin port, common on laptops, carries no bus power.
- Find the camera. If Windows has claimed it under imaging devices, reassign it to the NI 1394 driver. Do this either from MAX or by updating the driver in Device Manager and pointing it at the NI driver.
- Open MAX, expand Devices and Interfaces, and select the camera under the NI 1394 entry.
- Choose a video mode from the list the camera reports. Start with a low resolution and a mid-range frame rate.
- Click Snap, then Grab. You should see live video in MAX before you open LabVIEW.
- In LabVIEW 7.0, open the snap and grab examples shipped with the driver. Run them against the same camera name MAX shows.
- Build your application from the working example. Keep the open, configure, grab, and close sequence the example uses.
The driver's VIs handle acquisition and display. Image processing such as measurement, pattern matching, and particle analysis needs the NI Vision library on top of it.
Confirm the stream holds at the target frame rate
- Run a continuous grab in MAX for several minutes at your production mode. Watch for frozen frames or timeout errors.
- In LabVIEW, count acquired buffers against elapsed time. Compare the measured rate to the frame rate you configured.
- Adjust shutter and gain from MAX. Confirm the image responds. This proves the driver is writing IIDC feature registers, not just receiving a stream.
- Unplug and replug the camera with LabVIEW closed. Confirm it re-enumerates under the NI driver and not the Windows driver.
- If you run more than one device on the bus, run all of them at the same time. Check for dropped frames on each one.
Avoid the traps that recur with third-party 1394 setups
- Chasing the card when the device is a camcorder. This is the biggest time sink. No card swap makes a DV camcorder appear in the IIDC driver.
- Windows reclaiming the camera. A new USB/1394 port, a Windows update, or plugging into a different port can rebind the camera to the Windows class driver. Recheck the binding after any change.
- LabVIEW left open during driver changes. Close LabVIEW and MAX before reassigning drivers. A session left open holds stale device references.
- Asking for a mode the camera does not list. Selecting a mode in code that the camera does not advertise fails at configure time. Read the supported list in MAX and hard-code only those modes.
- Bus sharing. External 1394 drives or a second camera on the same card compete for isochronous bandwidth. Put high-rate cameras on their own adapter.
- Unpowered ports. Bus-powered cameras on 4-pin ports, or on weak card supplies, enumerate intermittently or not at all.
FAQ
What happens if I connect a DV camcorder instead of an industrial FireWire camera?
The NI 1394 driver will not list it, because the camcorder streams AV/C DV rather than IIDC video. Use a DirectShow-based capture component called from LabVIEW, or switch to an IIDC/DCAM-compliant camera.
What happens if my FireWire card is not OHCI compliant?
The NI 1394 driver cannot drive the controller, and the camera will not enumerate in MAX even with a good cable and power.
What happens if the camera still does not show in MAX after the driver reassignment?
Confirm the OHCI controller, bus power, and IIDC compliance once more, then stop troubleshooting in the field. Escalate to NI technical support through ni.com with your LabVIEW version, the 1394 driver release, the host adapter chipset, the camera model, and a screenshot of Device Manager. Ask the camera manufacturer's support to confirm IIDC compliance and a tested video mode.