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


(5) Visual Studio C#によるLAN通信プログラミング
【Windowsフォームアプリケーション】


Visual C#によるシリアル通信のプログラミングを前回行いましたが、今回はLAN(Socket)を利用した通信を行います。 制御対象はIPv4のSocket通信に対応した機器 となっています。ポートの設定でLXI機器にも対応が可能です。

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

プログラムはSocketポートの初期設定、書き込み、読み取り、終了のみとなります。ファイル処理やグラフ出力などはインターネットに豊富にサンプルがありますので紹介していません、必要に応じて追加してみてください。


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

  

今回作成するVisual C# でのGUI表示

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

2.必要なライブラリと変数を登録します。
  コードを表示してポートの使用状況用の変数とSocket通信のTCPクライアントとネットワークストリームの
  オブジェクトを追加します。


3.イベントの処理を登録します。
   ボタンクリックの処理はフォーム編集のボタンをダブルクリックすることで登録をおこないます。
   OPEN/CLOSEのボタンは、シリアルポートの初期化、オープンまたはクローズをおこないます。
       

   Sendのボタンは送信テキストを送信します。
       

   Readのボタンは受信バッファの内容を受信して表示します。
       

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

5.まとめ
  実用アプリケーションには至っていませんが、Windowsフォームアプリの最低限の内容を取り上げました。
        ・GUIのボタン、テキストボックスの扱いを説明しました。
・TCPポートの初期化、送受信の例を記述しました。
・最低限のエラー処理を記述しました。
・.net Frameworkは4.8で作成されていますが、利用する環境に合わせて
 変更してください。






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

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

目次に戻る



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

©Copyright 2022 TEXIO TECHNOLOGY All Rights Reserved.