edgecountで検出されるトリガーについて
Show older comments
現在、外部からのトリガーをNational instruments社製のDAQを用いて取得、
トリガーを4回取得するとmatlabのプログラムが駆動する仕様をめざしています。
トリガーを取得するコードはhelpを参照し、以下のようなコードになっています。
dq = daq("ni");
ch = addinput(dq,"cDAQ1Mod5","ctr0","EdgeCount");
ch.ActiveEdge = 'Rising';
count_max=4;
while true
count=read(dq,"OutputFormat","Matrix")
if count==count_max
break;
end
end
<ご教示頂きたい点>
トリガーは0→5Vとなっています。
しかし、5Vに到達したのち、±0.1V程度の微妙な変化を生じることがあり
この変化もEdgecountがカウントしてしまっております。
つきましては、Edgecountで参照する電圧幅を設定することは可能でしょうか。
(例えば:0V~3Vで生じた電圧の変化のみを参照する)
もしくは、他の解決策はございますでしょうか。
ご教示頂けますと幸いです。
5 Comments
Atsushi Ueno
on 4 Feb 2024
NI LabVIEWまたはMicrosoft Visual Studio®などのプログラミング環境で動作するNI-DAQmxのドキュメントにそれらしき項目があります。複数箇所に同名のプロパティがあるのが何故かはわかりません。
しかし Data Acquisition Toolbox のドキュメントには、カウンタ入力:エッジカウント:入力:しきい値レベルプロパティに相当する項目が見つかりませんでしたが、下記の様なプロパティが存在すると想定します(動かす環境を持っておらず、あてずっぽうですいません)
- ch.ThreshVoltage
- ch.CountDir.ThreshVoltage
Atsushi Ueno
on 4 Feb 2024
あと、測定ツールのプロパティがお使いのハードウェアに適用可能かどうかは、物によりけりです。
普通なら「利用不可のプロパティは設定出来ない様になっている」はずですが、必ずしもそうとは限りません。
なので、お使いのDAQハードウェアの仕様も併せて調べる事をお勧めします。
Takehide Kimura
on 6 Feb 2024
Atsushi Ueno
on 11 Feb 2024
NI-DAQmxのドキュメントにはデジタルフィルタ機能やゲート機能が存在しますが
- カウント対象の入力信号
- ⇒デジタルフィルタ(おそらく一定幅未満のパルスを無効にする)
- カウント方向(カウント値の増加または減少)を制御する入力信号
- ⇒デジタルフィルタ(おそらく一定幅未満のパルスを無効にする)
- ゲート(おそらく外部入力信号によりカウント対象のカウントを有効/無効にする)
やはりMATLAB(Data Acquisition Toolbox)のドキュメントにはこれらの項目が見つかりません。
MATLABの方は様々なベンダの機器をサポートする必要がある分、全項目には対応しきれないということではないでしょうか?
Takehide Kimura
on 12 Feb 2024
Answers (0)
Categories
Find more on Data Acquisition Toolbox Supported Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!