COM1に割り当てたUSB接続のRS-232C 1ポートタイプ COM-1(USB)H で、COMポートのオープン処理とクローズ処理、例外処理を行うプログラム例です。
使用COMポート |
COM1 |
通信速度 |
9600bps |
パリティ設定 |
なし(None) |
データビット長 |
8ビット |
ストップビット |
1ビット |
ハンドシェイク |
使用しない |
RTSライン |
無効 |
画面の作成とプロパティ設定
Visual Basic 2005を立ち上げ、新しいプロジェクトを作成し、左図のような画面を作成します。SerialPortコンポーネントを画面に貼り付けます。SerialPortコンポーネントのプロパティの内容を確認します(ボーレートなどの通信設定)。
オブジェクト |
TextBox1 |
COM1 |
オブジェクト |
Button1 |
接続 |
オブジェクト |
Button1 |
切断 |
エラー処理(例外処理)
例外処理を行わないと例外エラーが発生した場合、アプリケーションは強制終了してしまいます。それを回避するために例外処理を行います。例外処理を行うとアプリケーションは強制終了しません。左図は、例外処理が発生した場合にメッセージボックスを表示し警告を行った場合の例です。
プログラム記述例
接続ボタン、切断ボタンクリック時の処理を追加します。Form1.vbに以下のコードを記述します。各オブジェクト(ボタンなど)をダブルクリックすると、ボタンならば、ボタンが押された時の処理を記述するプロシージャが開きます。そこに行いたい処理を記述していきます。
ポートオープン
Private Sub Button1_Click(… → 接続ボタンが押されたときの処理
SerialPort1.PortName = TextBox1.Text 'オープンするポート名を格納
SerialPort1.Open() 'ポートオープン
End Sub
ポートクローズ
Private Sub Button2_Click(… → 切断ボタンが押されたときの処理
If SerialPort1.IsOpen = True Then 'ポートオープン済み
SerialPort1.Close() 'ポートクローズ
End If
End Sub
例外処理
上記コードに例外処理の追加と、例外エラーの内容の表示を追加した場合の記述例で
Private Sub Button1_Click(… → 接続ボタンが押されたときの処理
Try '例外処理のはじまり
If SerialPort1.IsOpen = True Then 'ポートはオープン済み
MessageBox.Show("エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
SerialPort1.PortName = TextBox1.Text 'オープンするポート名を格納
SerialPort1.Open() 'ポートオープン
Catch ex As Exception '例外処理
MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try
End Sub
Private Sub Button2_Click(… → 切断ボタンが押されたときの処理
If SerialPort1.IsOpen = True Then 'ポートオープン済み
SerialPort1.Close() 'ポートクローズ
End If
End Sub
Try - Catch - End Try構文については、Visual Basic 2005のリファレンスで確認ください。