NI製品ディスカッション

cancel
Showing results for 
Search instead for 
Did you mean: 

エンコーダー信号の取込方法について

デジタル信号の取込初心者です。

[エンコーダー信号の取込方法について]
NI(USB-6366)のデジタル入力からロータリーエンコーダー(Absolute, Gray Scale model)信号を入力して、角度情報を取得したいです。
LabveiwのhelpからencoderのFunction(Block)がないか調べたのですが、見つかりませんでした。
デジタル信号の取込方法は
で見つけれましたが、デジタル信号を1bitずつ拾って変換するところから作成しないといけないのでしょうか?

*位相差出力エンコーダ とは信号出力が異なる Absolute型(角度情報をデジタルn-bitでで出力)を使っています。
0 Kudos
Message 1 of 8
(204 Views)

角度情報をDAQデバイスで読み取る場合、デジタル入力ではなくカウンタ入力機能を使用します。

以下のサンプルがお役に立つかと思います。

 

DAQmx - Measure Angular Position - Buffered - Counter Clock

Emboar
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 2 of 8
(101 Views)
回答ありがとうございます。
教えて頂いたリンクのviを繋げてみました。何らかのデータは拾えているようですが、調整が必要です。この場合どのようすれば、設定変更や 参考にしてviを作るなど 自分の環境にあわせることが出来るのでしょうか? viファイルの内部で何をしてるか分かれば参考になるのですが。。。

Front Panel のControl windowからカウンタを探しましたが、見つかりませんでした。
0 Kudos
Message 3 of 8
(95 Views)

すみません、ご案内したサンプルのリンクがおかしかったでしょうか?

https://forums.ni.com/t5/Example-Programs/DAQmx-Measure-Angular-Position-Buffered-Counter-Clock/ta-p...

こちらをお使いください。

 

DAQ Assistantを使用されるのであれば、エンコーダの設定が必要になります。

これでもうまく読めなければ、カウンタ値から角度を計算するようなコーディングを開発される必要があると思います。

 

DAQ_Assitant_Counter.png

 

Emboar
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 4 of 8
(89 Views)
回答ありがとうございます。

>すみません、ご案内したサンプルのリンクがおかしかったでしょうか?
-> 最初に教えて頂いたリンクからviファイルを落として 動かしたところ、エンコーダーからの出力は波形で拾えているみたいでした。ただ、生データはGraycodeなので、バイナリに変換する必要があるのと、全bit取れているかはっきりしませんでした。そこで、viファイルの中が読めれば参考にできるかなと思いました。が方法がわかりませんでした。

新しいリンクにありました 記事はquadrature encoder でしたので、こちらの接続するエンコーダー(アブソリュート型エンコーダ)とは方式が異なり適用できなそうです。

[ここから本題です]
データー取込 & 角度表示 が難しいので、一先ずバイナリで構わないので、DAQのデータをcsvファイルに出力(とパネルに表示)したいです。block diagram で作ってみたのですが、データの型が一致せず、エラーになりました。この場合、データの受け側の設定 どのようにしたらよろしいのでしょうか?




0 Kudos
Message 5 of 8
(80 Views)

LabVIEWのデータタイプについて学ばれるとよいと思いますが、

ソースはU32 1D、シンクはBoolean 1Dとなっていますから、どちらかをどちらかに統一する必要があります。

 

簡単な手順は一度ワイヤを切断し、DAQアシスタントの出力上で右クリックし、

表示器を作成する手順です。

Emboar
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 6 of 8
(71 Views)

連投で失礼します。

試行錯誤で、エンコーダーの生の値をcsvにすることはできました(csvファイルを開くとブール(1,0)のはずが、1.0000, 0.0000となっている点はありますが。。)。
次にアナログ信号でサンプリングしているタイミングでデジタル信号もログを取りたいです。
どのように同期をすればよろしいのでしょうか?

本スレ、タイトルから外れてきましたので、本件解決後 クローズにしようかと思います。

 

0 Kudos
Message 7 of 8
(70 Views)

同期の際は基本的にクロック信号を同期します。以下のサンプルを参考にしてください。

How to Synchronize Analog and Digital Input or Output Tasks in NI-DAQmx With LabVIEW

Emboar
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 8 of 8
(67 Views)