テクシオ・テクノロジーによるおじさんのためのIOT講座


(7) Visual Studio C#/VB.netによるVISA COM通信プログラミング


Visual C#による通信のプログラミングを今まで紹介して来ましたが、共通通信ライブラリ(COM)のVISAに対応した
アプリケーションを作成します。VISAについてはナショナルインスツルメンツ社のNI-VISAのCOMライブラリを利用しています。ここでの説明はVC#ですが、サンプルにはVB.netに変換した物が同梱されています。

従来の共有DLLやライブラリを参照する方法では、PCや環境を変更すると参照の再設定やアクセス方法の変更が必要
な場合がありました。COMライブラリは比較的VISAのバージョンや対象環境、メーカーに影響を受けないライブラリのようなのでKeysight製などの他社のVISAや別バージョンのVISA、アプリケーションの64ビット、32ビット、ANYの切替についても問題なく利用できています。

現行のNI-VISAにはGP-IBドライバは含まれません、GP-IBを利用する場合はNI-488.2もインストールしてください。
ここではVer21.5のNI-VISA/NI-4882を利用しています。
現行のNI-VISAの正式環境はサポートが終了している.net4.5までですが、本講座では.net4.8で利用しています。
他社のVISAを利用する場合も対応するインタフェースが利用できるように環境を整えてください。本サンプルはNI製とKeysight製のVISAで確認しています。

NI-VISAおよびNI-488.2はナショナルインスツルメンツ社の製品です、NIソフトウエアライセンスに従い、ご利用の開発PCのOSとVisual Studioのバージョンに対応したVISAを入手してください。

Visual StudioやVISAの準備などの手順はここでは扱いません、個人などで利用される方は、無償のVisual Studio
コミュニティ版をダウンロードしてPCにインストールしておいてください。業務利用や企業の場合はライセンス違反にならないように手配してご利用ください。ここでは2022バージョン17.2を使用していますが配布しているプロジェクトはどのバージョンでも問題無いように作成されています。

プログラムは、登録されているリソースの検索、通信ポートのOPEN/CLOSE/初期設定、書き込み、読み取りで構成されています。ファイル処理やグラフ出力などはインターネットに豊富にサンプルがありますので紹介していません、必要に応じて追加してみてください。


 
1.プロジェクトの準備
  初めにVisal Studioの新しいプロジェクトの作成でC# フォームアプリケーションを選択・作成します、フレーム
  ワークは.NET4.8を指定しています。 

      

  フォーム(画面)の構成としてはボタン:4個、コンボボックス:2個、テキストボックス:3個、ラベル:3個で、
  リソース検索、通信のOPEN/CLOSE、送信、受信を割当ています。また、ボタンをダブルクリックすると処理の
  ひな形がソースコードとして作成されます。

 


2.必要なライブラリと参照、定義を登録します。
  コードを表示してソリューションエクスプローラの参照を右クリック、参照の追加を選択し参照マネージャーを
  表示します。左側のCOMをクリック、名前の一覧からVISA COM TYPE Libraryにチェックを入れOKをクリック
  します。VISAの参照用の利用定義、コンボボックス用の文字列、通信種別ごとの個別設定用のインタフェースを
  定義し、画面初期化でコンボボックスの定義を行います。参照設定は環境やPCを変えた時に”見つかりません”の
  エラーが発生しやすいです。エラーが出ている参照を一旦削除してそのPCに合わせた参照を追加し対応します。

 


3.イベントの処理を登録します。
   ボタンクリックの処理はフォーム編集のボタンをダブルクリックすることで登録をおこないます。
   インタフェースの選択切替時は必要なプロパティを表示するための表示変更をおこなっています。   

   リソースの検索(Find)のボタンは、選択されているインタフェースに基づいて、NI-MAXに登録されている
   デバイスの一覧を取得し、Device Listのコンボボックスに登録します。Socket対応の機器ではNI-MAXに登録
   されていない機器への対応も必要なので、直接Device ListにIPアドレスとポートを記入しての利用も可能と
   しています。
   

   OPEN/CLOSEのボタンは、通信の初期化、オープンまたはクローズをおこないます。各インタフェースでの
   追加設定の例を入れてありますので、利用機器に合わせて設定を追加してください。デバイスリストに表示
   されているリソース名を対象としますので、検索結果だけでなく直接入力した場合も利用できます。
    

   Sendのボタンは送信テキストを送信し、Readのボタンは受信バッファの内容を受信して表示します。
    

   ウインドウ右上の×をクリックした時に通信のクローズを追加します。
    

5.まとめ
  実用アプリケーションには至っていませんが、VISA通信の最低限のプログラミングを取り上げました。

・GUIのボタン、テキストボックスの扱いを説明しました。
・通信の初期化、送受信の例を記述しました。
・最低限のエラー処理を記述しました。
・必要なUSING定義を記述しました。
・.netは4.8で作成されていますが、利用する環境に
 合わせて変更してください。
・参照設定のエラーはエラーのある参照を一旦削除し
 環境にあわせた参照を追加してください。

 後は使う方が必要なものを追加してご利用ください。

  今回は基本的なVISA通信の設定・送受信を行いました、実際に運用するアプリにするには送受信や表示などを
  別スレッド・プロセスに変更するなどの修正は必要になるかと思います、 通信のテストや動作の確認として
  このまま利用も可能です。

目次に戻る



ソースプロジェクトのダウンロード
ダウンロード後にフォルダへ解凍し、csprojファイル(vbproj)をVisual Studioで開いてください。

©Copyright 2022 TEXIO TECHNOLOGY All Rights Reserved.