NI製品ディスカッション

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

DAQデバイスでパルス波形配列、連続サンプル再生中に、再生している配列をタイムラグなく変更する方法。

解決済み
解決策を見る

お世話になります。

 

Labviewでパルスとそれに続くAmplitude0の配列を、連続再生して、一定のパルス間隔を保ちながらリアルタイムで配列数を変更して、パルス間隔を連続再生中に変更するプログラムを作成しています。

いろいろと検討した結果、

配列変更が確認されるといったん連続再生を停止とクリアを行って、もう一度新しい配列で連続再生させることで、リアルタイムで正確に変更することができましたが、変更後の第一パルスと変更前の最終パルス間間隔が短くなってしまいました。

停止とクリアをすることなく連続再生中の配列を変えることは可能でしょうか。

0 件の賞賛
メッセージ1/3
2,636件の閲覧回数
解決策
トピック作成者take28が受理

停止とクリアをすることなくパルス間隔を連続再生中に変更して頂くことは可能です。

周期を変えていただくことも可能ですし、デューティーサイクルを変えていただくこともできます。

 

書き込み関数を、While loop の中に入れていただいくと、生成中にパルスを変更することができます。

もしも配列をそのままお使いになられたいのであれば、配列もWhile loopの中に入れていただければ、同じことが可能です。

 

配列を変更してパルス間隔を変更なさっているようですが、もしもパルスを生成するという目的だけでしたら、

関数パレット>波形>アナログ波形>波形生成>方形波形

をお使いになると、任意の周波数、振幅や、デューティーサイクルのパルスが生成できるので、もしよければ試してみてください。

 

LVのサンプルフォルダの中の ハードウェア入力と出力>DAQmx>アナログ出力>電圧(非生成)-連続出力

のサンプルは、波形変も更可能なVIとなっていますので、そちらも参考になるかと思います。

 

また、サンプルよりも簡易なVIの図も載せておきますので、こちらもご参考にしていただければ、と思います。

メッセージ2/3
2,588件の閲覧回数

momaiseさん、回答ありがとうございます。

 

配列と書き込み関数をWhile loopにいれて初回のみ再生をしたらインターバルの変更が上手くできました。

 

 

0 件の賞賛
メッセージ3/3
2,578件の閲覧回数