IMAQ Extract Buffer.vi の Buffer to extract の値



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Professional Development System

問題:

LabVIEWとNI-IMAQ(画像集録ソフトウェア/ Vision Acquisition Software)に付属のLL Ring.vi をもとに、何かトラブルが発生したら、集録を停止して、その際の画像を保存して、分析するといったプログラムを作ろうとしています。

IMAQ Extract Buffer.vi には、Buffer to extract の入力がありますが、もし、トラブル無くプログラムが動き続けた場合、この値が大きくなりすぎて、エラーが発生したりするのではないかと思いますが、Buffer to extract の値は、最大いくつまで使えますか?また、それを超えた場合は、どのようになりますか?



解決策:

IMAQ Extract Buffer.vi には、Buffer to extract の入力があります。Buffer to extract のデータ型(表記法)はI32(符号付32ビット整数)です。I32のデータ型が扱える値は、-2147483648~2147483647です。

LL Ring.vi が動き続けた場合、Buffer to extract の値は増加し続けますが、Buffer to extract のデータ型(表記法)はI32なので、扱える値の最大は、2147483647になります。これを超えた場合は、エラーが発生するのではなく、-2147483648から、再度、インクリメントするという動作になります。

ただし、While ループの ”i” (反復端子)は、2147483647に到達しても、-2147483648になるのではなく、2147483647を出力し続けますので、LL Ring.vi をそのまま使うと、正しく動作しなくなります。カメラの出力がNTSCの場合は、30フレーム/秒なので、Buffer to extract に入力する値が2147483647になるには、2年以上の時間が必要ですので、問題になる可能性は低いですが、フレームレートの高いカメラからの集録では問題になる可能性があるので、注意してください。

 



関連リンク:

添付:





報告日時: 03/12/2008
最終更新日: 03/13/2008
ドキュメントID: 4JBK7D8V