11-17-2016 02:46 AM
お世話になります。
Labviewでパルスとそれに続くAmplitude0の配列を、連続再生して、一定のパルス間隔を保ちながらリアルタイムで配列数を変更して、パルス間隔を連続再生中に変更するプログラムを作成しています。
いろいろと検討した結果、
配列変更が確認されるといったん連続再生を停止とクリアを行って、もう一度新しい配列で連続再生させることで、リアルタイムで正確に変更することができましたが、変更後の第一パルスと変更前の最終パルス間間隔が短くなってしまいました。
停止とクリアをすることなく連続再生中の配列を変えることは可能でしょうか。
解決済! 解決策の投稿を見る。
11-21-2016 06:15 PM
停止とクリアをすることなくパルス間隔を連続再生中に変更して頂くことは可能です。
周期を変えていただくことも可能ですし、デューティーサイクルを変えていただくこともできます。
書き込み関数を、While loop の中に入れていただいくと、生成中にパルスを変更することができます。
もしも配列をそのままお使いになられたいのであれば、配列もWhile loopの中に入れていただければ、同じことが可能です。
配列を変更してパルス間隔を変更なさっているようですが、もしもパルスを生成するという目的だけでしたら、
関数パレット>波形>アナログ波形>波形生成>方形波形
をお使いになると、任意の周波数、振幅や、デューティーサイクルのパルスが生成できるので、もしよければ試してみてください。
LVのサンプルフォルダの中の ハードウェア入力と出力>DAQmx>アナログ出力>電圧(非生成)-連続出力
のサンプルは、波形変も更可能なVIとなっていますので、そちらも参考になるかと思います。
また、サンプルよりも簡易なVIの図も載せておきますので、こちらもご参考にしていただければ、と思います。
11-21-2016 08:36 PM
momaiseさん、回答ありがとうございます。
配列と書き込み関数をWhile loopにいれて初回のみ再生をしたらインターバルの変更が上手くできました。