12-12-2013 08:52 PM
お世話になります。
現在NI6353、LabVIEW8.6を使用してコードを作成しています。
アナログ出力とctrの制御を行っており以下のように動作させたいのですがどういった方法があるのかご教授下さい。
1.アナログ出力開始と同期してctrの動作を開始する。
2.アナログ出力終了に同期してctrの動作を終了する。
3.ctrの動作は外部からのトリガにより再トリガする。
外部トリガは数10KHz~500KHz程度の固定値を使用するが1KHz程度ばらつきがある。
アナログ出力の継続時間は開始前に決定されている。
ctrではトリガ間隔より短い時間Trueにし残りはFalse
といった動作で概略を添付ファイル信号.jpgに示してあります。
現状3.の機能を持っていない状態で添付したスクリーンショットのような状態で動作しています。
以上お手数をお掛けしますがよろしくお願いします。
01-06-2014 01:13 PM
こんにちは。
説明された内容を見ると、アナログ出力の動作は今のところ問題なく、
カウンタの機能だけを追加されたいということですかね。
再トリガの機能は下記のリンクを見てみてください。
01-06-2014 11:21 PM
doradorachan様
ご回答ありがとうございます。
リンク先の内容はとても参考になりました。
私の質問の仕方が良くなかったのですが私の希望する内容は先の質問の図のようなものを希望しています
現状はctrが図中のAOと同じ動作となっています。
ご提示頂いたリンク先の図1でのctr0が連続パルスでなく再トリガ可能(外部トリガによる)な単一パルスで
ctr1がAO信号といったイメージです。
お手数をお掛けして申し訳ありませんが上記のようなことが可能かどうかご教授願います。
01-06-2014 11:30 PM
信号.jpg の内容であれば、カウンタ出力のトリガ機能を再トリガを加えるだけということになると思います。
そのときにスクリーンショット.jpg のVI に前回紹介したリンクの
図2のDAQmxトリガのプロパティノード(Start.Retriggerableと表示されているもの)を
追加するだけでできますよ。
下記のリンクのVIを参考してみてください。
Generate Retriggerable Finite Digital Pulse Train from Counter Output
01-07-2014 12:21 AM
度々ご回答頂きありがとうございます。
現状ではAOのスタートをトリガとしていますので、
図2にプロパティノードでstart.Retriggerableを追加してtrue
ソースを外部からのトリガ信号(PFI)に指定すればよいという事ですか?
01-07-2014 12:24 AM
そういうことですね。
もしくは、AOとカウンタの両方の機能で、外部トリガを使用する方法もあります。
AOは最初の外部トリガでスタートさせ、カウンタは外部信号をもとに何度もスタートさせるということですね。
01-07-2014 12:33 AM
ご回答ありがとうございます
先程机上で手を加えた所特にエラーとならないので問題なさそうです。
2種類のトリガが使用できるのですね、勉強になりました。
この手法を用いた場合AOとctrの開始は問題なくできそうなのですが
AOの終了と共にctrの出力を停止することは可能でしょうか?
01-07-2014 12:50 AM
AOが終了するときは、「DAQmxタスククリア」といった関数を使用しているかと
思いますので、それをカウンタのタスク用にも並列で呼び出すことで終了させることができますよ。
01-07-2014 12:59 AM
度々すみません
DAQmaxクリアは現在でも使用しています。
AOは有限のデータで出力しており出力終了とctrの同期をとりたいのですが
DAQmaxクリアではデータ出力終了からタイムラグが発生してしまいます。
そこで現状はAOのデータ出力時間だけctrをHighにしています。(図1のAOと同じ信号)
このctrを外部トリガに応じてパルス出力にしてAOの出力時間中のみ出力したいという事です。
お手数ですがよろしくお願いします。
01-09-2014 05:22 AM
タイムラグが発生するということなんですが、どのくらいまでが許容範囲内なんですかね。
具体的にはAO出力終了のタイミングと、カウンタ出力終了のタイミングはどのくらいズレていてもいいのでしょうか。