キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

Imaq IEEE 1394 Camera Programming Problem

Hello,

I am have a problem with my multicamera acquisition program. I am using LabWindows/CVI. I have already written a program to acquire two cameras simultaneously. These are IMAQ frame grabber type cameras. We recently purchased an IMAQ IEEE 1394 camera. My problem is that there seems to be no good way to poll the device like in IMAQ for which frame it has acquired. For example, I could call the "imgSessionStatus" command in IMAQ to poll the current buffer. I do not seem to be able to do the same in the IMAQ for IEEE 1394.

Also, there is no way to control the buffer allocation. In IMAQ you pass the buffer into the Session Configuration. I am not sure how IMAQ for IEEE 1394 deals with buffer allocation.

Thanks in Adv
ance
0 件の賞賛
メッセージ1/4
3,560件の閲覧回数
My problem is that there seems to be no good way to poll the device like in IMAQ for which frame it has acquired. For example, I could call the "imgSessionStatus" command in IMAQ to poll the current buffer.
See the information in the next paragraph for information on why this function is not present.

Also, there is no way to control the buffer allocation. In IMAQ you pass the buffer into the Session Configuration. I am not sure how IMAQ for IEEE 1394 deals with buffer allocation.

Linked here is a thread which discusses a similar issue. Basically, the IMAQ for 1394 driver does not have the ability to setup a
ring acquisition like traditional IMAQ does. Essentially, your option is simply to create a series of buffers using IMAQ Create and place the images sequentially into the buffers in software.

Because of the nature of this fact, the imgSessionStatus function is not really valid, as its primary funciton is to check which buffer is valid. For 1394 cameras, you can only use one buffer in a Grab type of acquisition.

I hope this clarifies the way the driver works.
Regards,
Colin C.
Applications Engineering
Colin Christofferson
Community Web Marketing
Blog
0 件の賞賛
メッセージ2/4
3,560件の閲覧回数
Hello Colin,

Thank you for your response. I saw in the documentation that you can setup a callback function for the IEEE 1394 driver. Is there some code that demonstrates how this callback could be used? I am mostly interested in if it could be setup to call the callback routine after each image acquisition. This way I could have the callback update a global variable to keep track of the buffer number acquired.

Thank in Advance,
Palmer
0 件の賞賛
メッセージ3/4
3,560件の閲覧回数
Attached is an example that gets installed with the 1394 driver that uses the imaq1394InstallCallback function. This example requries IMAQ Vision to run, but if you just have the driver the code should give you some insight into how to program with the callback.

Regards,
Colin C.
Colin Christofferson
Community Web Marketing
Blog
0 件の賞賛
メッセージ4/4
3,560件の閲覧回数