From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

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

USB-8452(i2c)のlabviewについて

  • labviewにてi2cの使い方がさっぱりわかりません。どのようにlabviewに変化があるのか、どのように使用すればいいのか、誰が教えてください。
0 件の賞賛
メッセージ1/3
1,541件の閲覧回数

amatwm さん、はじめまして

 

どこまで試されたかわかりませんが、まずは下記のドライバをインストールいただき、中にあるサンプルから始めてみてはいかがでしょうか。

https://www.ni.com/ja-jp/support/downloads/drivers/download.ni-845x-driver-software.html#346270

0 件の賞賛
メッセージ2/3
1,448件の閲覧回数

こんにちは。

 

I2CやSPIは基本的にバイト単位で通信します
以下かなり強引な表現になりますが、通信の基本的な流れはこんな感じ。

 

〇USB-845xデバイスのリファレンスを開きます。必要に応じてプロパティをいじります
〇NI-845x I2C Write Read.viを使ってデバイスと通信します。
ここからがちょっと普通の機器と通信するのが違うところです

たとえば相手デバイスにx7Aコマンドを送るとデータがxAAxFFxAAxFFのように4バイト帰ってくるものとします。
普通だとwrite.viでx7A書き込んでread.viでxAAxFFxAAxFFを読むのですが、I2CやSPIは送ってるデータに返事が乗っかってくるイメージ。
なので、送信はx7Ax00x00x00x00と送るとx??xAAxFFxAAxFFみたいに帰ってきます。
(応答の最初のx??は不定値だったりが多い。データはx00x00x00x00に乗っかってくる)

これを踏まえてもっと具体的にいうと、Writeにはx7Aから始まるU8形式の5バイト分の配列をつなぐとReadに書き込んだ量と同じサイズの配列が返ってきます。

〇終わったらリファレンスを閉じます

 

すべてがこのような手順ではありませんが、ほとんどはこんな感じ。
I2CやSPIは計測機器の制御とは違ってかなり低レベルのやり取りをしますのでハードウェアの知識が不可欠です。
相手デバイスのマニュアルを理解する方が重要かも。プログラムの方は至極単純です。

0 件の賞賛
メッセージ3/3
1,430件の閲覧回数