Jump to content

Adjusting shutter speed NI-IMAQdx firewire


Richie

Recommended Posts

Hello, firstly thanks in advance for your help, I have been struggling with this for the last few days and any help is greatly appreciated.

I am using a Pixelink PLB742-F firewire camera with NI-IMAQdx. What I need is to control the ROI and size using mode 7 of the camera. So i started with the example 'Grab and Scalable Format.vi'. I also need to control the shutter of the camera. So I looked at 'Grab and Attributes Setup.vi' and I thought I had figured out how to change the shutter, while the camera is capturing. Please see the attached image and vi. It works sometimes when i decrease the shutter, but if i increase it, it gives a timeout error. Please help me as it it driving me slighlty crazy.

Thanks again,

Richie

Link to comment

I took a look. It should work. Maybe you are updating too many camera parameters at one time.

I would write subVI's for every camera property you are changing and then activate only those subVI's where properties actually have changed.

No point writing Width and Height if only PacketSize has changed. Plus reading everything out as well.

This is how I do it:

WRITE:

post-2680-1236800431.jpg?width=400

Cache your camera values in a shift register at the first iteration, then update your cache values as you change parameters. The fact that you are timing out indicates, something is not able to keep up. Either the camera can't keep up with too many changes or possibly the loop rate is too fast?

READ (with cache):

post-2680-1236800599.jpg?width=400

The BusType is just used to detect a FireWire or a GigE camera and send the appropriate command. The feedback node stores the last read value, so as not to overload the camera with commands when not necessary.

Here's what sending commands looks like (run in a loop):

post-2680-1236800974.jpg?width=400

Neville.

Link to comment

Thank you Neville, you were right, the driver could not cope with changing so much at the same time. To fix it I used a little bit of a hack, I deconfigured, set the width and height, reconfigured, deconfigured, set the offset, and then finally reconfigured. And that works. Thanks for your help

QUOTE (Neville D @ Mar 11 2009, 08:39 PM)

I took a look. It should work. Maybe you are updating too many camera parameters at one time.

I would write subVI's for every camera property you are changing and then activate only those subVI's where properties actually have changed.

No point writing Width and Height if only PacketSize has changed. Plus reading everything out as well.

This is how I do it:

WRITE:

post-2680-1236800431.jpg?width=400

Cache your camera values in a shift register at the first iteration, then update your cache values as you change parameters. The fact that you are timing out indicates, something is not able to keep up. Either the camera can't keep up with too many changes or possibly the loop rate is too fast?

READ (with cache):

post-2680-1236800599.jpg?width=400

The BusType is just used to detect a FireWire or a GigE camera and send the appropriate command. The feedback node stores the last read value, so as not to overload the camera with commands when not necessary.

Here's what sending commands looks like (run in a loop):

post-2680-1236800974.jpg?width=400

Neville.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.