テクシオ・テクノロジーによるおじさんのためのIOT講座 |
Visual Basic.netはプログラミングのための参考資料やサンプルが豊富にありますが、通信を使って計測機器などを制御する汎例はそれほど多くありません。今回は以前作成したVC#のフォームアプリケーションをVB.netに変換しています。制御文や定義方法が異なるだけで、動作は全く同じものになっています。 制御対象はRS-232CまたはUSB-CDC対応の機器 となっていますのでシリアル通信で接続する電源やオシロスコープの他にRS-232C/RS-485を使ったセンサ類にも対応が可能です。 Visual Studioの準備などの手順はここでは扱いません、個人などで利用される方は、無償のVisual Studioコミュニティ版をダウンロードしてPCにインストールしておいてください。業務利用や企業の場合はライセンス違反にならないように手配してご利用ください。ここでは2022バージョン17.2を使用していますが配布しているプロジェクトはどのバージョンでも問題無いと思います。 プログラムはシリアルポートの初期設定、書き込み、読み取りのみとなります。ファイル処理やグラフ出力などはインターネットに豊富にサンプルがありますので紹介していません、必要に応じて追加してみてください。 1.プロジェクトの準備 初めにVisal Studioの新しいプロジェクトの作成でVisual Basicのフィルタを適用し、 Windowsフォームアプリケーション(.NET Framework)を選択・作成します。途中で対象フレームワークに.net Frameworkは4.8を指定します。 通信のOPEN/CLOSE、送信、受信、COMポートの再取得を割当ています。通信のモジュールとしてツール ボックスのコンポーネントからシリアルポートを追加します。また、ボタンをダブルクリックすると処理の ひな形がソースコードとして作成されます。 2.必要なライブラリとグローバル変数を登録します。 フォームのコードを表示してImport定義(Management、Text.RegularExpressions、IO.Ports)と シリアルポートの使用状況用の変数を追加します。 ソリューションエクスプローラーの参照を右クリックし参照を追加します。アセンブリのフレームワークから System.Managementを検索し追加します。 3.コンボボックスの内容を登録します。 シリアルポートのボーレートを選択するコンボボックスにボーレートを登録し、シリアルポートの使用状況の 変数を初期化します。COMポートのコンボボックスは後述のポート収集を利用して登録しています。 4.イベントの処理を登録します。 ボタンクリックの処理はフォーム編集のボタンをダブルクリックすることで登録をおこないます。 OPEN/CLOSEのボタンは、シリアルポートの初期化、オープンまたはクローズをおこないます。 Sendのボタンは送信テキストを送信し、Readのボタンは受信内容を表示します。 ウインドウ右上の×をクリックした時にポートクローズ追加します。 存在するCOMポートの情報を収集してコンボボックスに登録する処理を用意します。 5.まとめ 実用アプリケーションには至っていませんが、Windowsフォームアプリの最低限の内容を取り上げました。
今回はC#で作られたアプリケーションを元にVisualBasicのアプリケーションを作成しました。定義や記述方法 が異なるのみで構成・操作は全く同じということがわかると思います。 ソースプロジェクトのダウンロード
|
©Copyright 2022 TEXIO TECHNOLOGY All Rights Reserved. |