NI製品ディスカッション

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

PCI-1428でのデータ収集について

PCI-1428でラインスキャンカメラの画像をキャプチャしています。内部クロックで高速に撮影しているカメラから任意のタイミングで特定のライン数の画像を取得したいのですが。現在の状況は、WinXPとVC++7でNI-IMAQのLowLevelFunctionで構築中で、Windowsのマルチメディアタイマーによるイベント間隔でのキャプチャはできています。もともと、このキャプチャタイミングで外部トリガ出力して他のDAボードと同期を取っていましたが、仕様変更しDAボードを律速にして、その外部トリガによりキャプチャしたいという内容です。
0 件の賞賛
メッセージ1/15
5,102件の閲覧回数
VHA(Variable Height Acquisition)というサンプルがあったので、これでテストしてみます。
0 件の賞賛
メッセージ2/15
5,084件の閲覧回数
VHAで動作確認しましたが、トリガの時間間隔に応じてActualHeightが増加することは確認できました。
しかし、バッファのHeight設定値を超えてもcurrBufNumが増加せず、溢れた分はどうなったのかわかりません。
また、imgSessionExamineBuffer()は、マニュアルではトリガアクティブ期間中待つと書いてありますが、トリガが下がるのを待たずにスルーしています。
imgPlotでバッファが更新されているのは見えるのですが、思うように動きません。
サポートお願いします。
0 件の賞賛
メッセージ3/15
5,061件の閲覧回数
resがなく残念です。自力でやります。このフォーラムの意味は?
0 件の賞賛
メッセージ4/15
5,022件の閲覧回数
いつもお世話になっております。
日本NI技術の数馬と申します。

ご連絡が遅れまして大変申し訳ございません。

NI Vision Hardware Help(スタート>すべてのプログラム>National Instruments>Vision>NI Vision Hardware Help)をご覧ください。
VHAモードでの集録は、あらかじめMAX(※)で指定した最大ライン数を保持できるバッファを画像集録前に確保します。また、画像データは
トリガがアサートされてから集録が開始されトリガの立下りまでバッファにデータを転送し続けます。ただし、MAXで設定された最大値を
超えた場合はデータ転送はストップし、あふれた分は集録されません。VHA Ringのサンプルプログラムなどを使用されている場合でも、
あふれたデータは次のバッファに転送されません。次のトリガの立ち上がりでデータが次のバッファに転送されるような格好になります。


(Helpより:Acquisition of a buffer begins on the assertion of this trigger line and terminates when the line is deasserted or the number of lines equals the Height parameter set in MAX)

トリガがたち下がるのを待たずにスルーするのは、MAXで指定した最大ライン数を集録し終わったからではないでしょうか?

以上ご不明な点がございましたらご連絡をお願いいたします。

※MAX = Measurement and Automation Explorer

このメッセージは 01-14-2007 06:56 PMに S.Kazuma が編集しています。

メッセージ5/15
4,966件の閲覧回数

resありがとうございます。
非常に貴重な情報ですが、こんなことで悩んでいたのかと愚の音も出ません...


「MAX」を最大値と読んでいて、

imgGetAttribute(Sid, IMG_ATTR_ROI_HEIGHT, &nY);

でボードの最大値が取得できるものだと思っていました。
それにしても500lineとはと思っていましたが...(--;

VHAにしろそうでないにしろ、システムの幅が大きく広がりました。

ついでで申し訳ありませんが、VHAの動作がご説明の通りであれば、
imgSessionExamineBuffer()で得られる「currBufNum」は「BufNum」と必ず
一致するという理解で良いでしょうか?
また、取得可能ライン数をプログラムで指定することはできるのでしょうか?

0 件の賞賛
メッセージ6/15
4,960件の閲覧回数
お世話になっております。

imgSetCameraAttributeNumeric() で、IMG_ATTR_ACQWINDOW_HEIGHTのAttributeを変更することにより、
取得可能ライン数を変更できるのではないかと考えられます。

「currBufNum」「BufNum」についてお答えさせていただく前に、念のためどのサンプルプログラムをご参照していらっしゃるのか
教えていただいてよろしいでしょうか?(ファイルパスなど)

よろしくお願いいたします。
日本NI数馬

メッセージ7/15
4,955件の閲覧回数
訂正です。

imgSetCameraAttributeNumeric() ではなく、imgSetAttribute()でした。
大変失礼いたしました。

ご確認いただければ幸いでございます。

以上よろしくお願いいたします。
日本NI 数馬


メッセージ8/15
4,952件の閲覧回数

ありがとうございます。

>imgSetCameraAttribute() で、IMG_ATTR_ACQWINDOW_HEIGHTのAttributeを変更することにより、
>取得可能ライン数を変更できるのではないかと考えられます。

これは早速やってみます。

コードは、当初 \Grab\LL Grab を参考に組んでいました。
現在は \Signal IO\VHA Ring を見ています。

0 件の賞賛
メッセージ9/15
4,950件の閲覧回数
>imgSetAttribute() で、IMG_ATTR_ACQWINDOW_HEIGHTのAttributeを変更することにより、
>取得可能ライン数を変更できるのではないかと考えられます。

設定できました。

このメッセージは 01-14-2007 08:47 PMに yoshi が編集しています。

0 件の賞賛
メッセージ10/15
4,946件の閲覧回数