NI製品ディスカッション

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

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

解決済み
解決策を見る
デジタル信号の取込初心者です。

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

*位相差出力エンコーダ とは信号出力が異なる Absolute型(角度情報をデジタルn-bitでで出力)を使っています。
0 件の賞賛
メッセージ1/8
2,812件の閲覧回数

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

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

 

DAQmx - Measure Angular Position - Buffered - Counter Clock

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/8
2,709件の閲覧回数
回答ありがとうございます。
教えて頂いたリンクのviを繋げてみました。何らかのデータは拾えているようですが、調整が必要です。この場合どのようすれば、設定変更や 参考にしてviを作るなど 自分の環境にあわせることが出来るのでしょうか? viファイルの内部で何をしてるか分かれば参考になるのですが。。。

Front Panel のControl windowからカウンタを探しましたが、見つかりませんでした。
すべてをダウンロード
0 件の賞賛
メッセージ3/8
2,703件の閲覧回数

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

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

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

 

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

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

 

DAQ_Assitant_Counter.png

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ4/8
2,697件の閲覧回数
回答ありがとうございます。

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

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

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




すべてをダウンロード
0 件の賞賛
メッセージ5/8
2,688件の閲覧回数

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

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

 

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

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

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ6/8
2,679件の閲覧回数

連投で失礼します。

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

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

 

すべてをダウンロード
0 件の賞賛
メッセージ7/8
2,678件の閲覧回数
解決策
受理者 KevWhat

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

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

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ8/8
2,675件の閲覧回数