2020年1月30日TwitterFacebookGoogle+LinkedInPocketC#で計測器と通信する3回目はUSB接続です。これまでシリアル接続とGPIB接続のプログラムを紹介しました。そちらの記事も興味のある方は下のリンクから探してみてください。C#外部機器との通信USBはいまや一番メジャーなインターフェースになりました。USB接続で通信をするなら特に何も買い足す必要はないでしょう。このUSBをC#でプログラミングするというのはなかなか簡単ではありません。USBはもともと計測器との通信用のインターフェースではないため、USBを使って外部機器を制御する方法は1つに限定できないからです。このような状況にあって、計測器のメーカーの大手、Keysight(旧アジレント(旧HP))はほとんどの新製品にUSBポートを装備し、USB接続を簡単に制御する方法を提供しています。(その代わりにGPIBはあまり積極的に開発されなくなってしまいました)この記事ではアジレント製の機器に限定して、USB接続経由で、外部機器を制御する方法を紹介します。USBライブラリスイートのインストールキーサイトの機器をwindowsパソコンから制御するためにはキーサイトが提供しているキーサイトIOライブラリスイートをインストールする必要があります。IOライブラリスイートは計測器に同梱しているか、キーサイトのHPからダウンロードできます。IOライブラリスイートはキーサイトのUSB接続可能な機器のほぼすべてのドライバが入っています。はずなんですが、IOライブラリスイートのマイナーバージョンではいくつかのライブラリが省略されているようです。IOライブラリスイートはインストールする前に、自分の機器に対応しているか確認が必要そうです。インストールファイルが入手できたら実行してインストールをしましょう。設定はデフォルトのままで大丈夫そうですが、インストールに時間がかかります。C#経由のUSB接続IOライブラリスイートをインストールするとサンプルコードがインストールされます。Instrumentsの下にありました。このプロジェクトの中を掘っていくと手順が分かります。キーサイトの資料でUSBとC#の接続の説明がありました。C#による計測・統計機能を用いたGO-NOGOサンプルプログラムガイドこちらも参考にしてください。GPIBの通信プログラムと同じようにフォームにリッチテキストボックスとボタンを配置してください。初めに画面右上のソリューションエクスプローラから参照の追加を行います。参照の項目を右クリックして参照の追加...を選択してください。参照するファイルはIvi.Visa.Interop.dllです。すごい場所にありますよ。名前空間の追加ファイル開始のusing~の群れの最後に以下の行を追加します。Formの{のすぐあとに次の行を追加します。"USB0::2399::36999::MY59999999::0::INSTR";usbAddの後ろの呪文はUSBの機器本体に表示させるものですのでマニュアル読んで表示させて書き写してください。機器のよって違います。次にデザイナーでボタンをダブルクリックしてbutton1_Clickを作って、そこへカーソルを移動します。{}の中に次の行を書き込んでください。instrument.ReadString();instrument.IO.Close();上のコードですが、一行目は通信の準備をしています。2行目は外部機器に対して*IDN?コマンドを送っています。これは外部機器IDを問い合わせるコマンドです。3行目は外部機器からの返信をリッチテキストボックスに表示しています。4行目で通信を終了しています。普通は通信エラーに備えてtry・catchで括ります。全体は次のようになります。}}実行すると外部機器のIDがリッチテキストボックスに表示されたでしょうか。まとめこの記事ではC#でUSB接続の外部機器と通信する方法を紹介しました。GPIBの時と同じですが、コマンドは*IDN?しか使ってません。これ以外のコマンドについてはまた改めて紹介します。最簡単プログラムの4回目はforです。GPIBC#外部機器通信の2回目はC#とGPIBです。ボタン以前に書きましたが、私はプログラミング初心者にはC#を勧めます。関数C#最簡単プログラミングの6回目です。...NIのライブラリ廃止でC#のGPIB通信のプログラムの書き方が変わったこのブログでは計測器制御にC#をお勧めしています。コメントをキャンセルメールアドレスが公開されることはありません。