ID : 376
Comm.State
機能
データ通信機能のポートの状態を返します。
構文
Comm.State(回線番号[, 詳細])
指定項目
- 回線番号
- 回線番号を整数型データで指定します。
- 詳細
-
詳細状態を取得するかしないかを、整数型データで指定します。
省略可能です。省略時は"0"になります。
0 詳細状態を取得しない 1 詳細状態を取得する
戻り値
指定した回線の状態を整数型データで返します。
解説
指定した回線の状態を整数型データで返します。
戻り値
詳細状態を取得しない場合
戻り値 | 回線の状態 | 説明 |
---|---|---|
0 | Close | どのタスクからも回線はOpenされていません。 |
1 | Open | いずれかのタスクが回線をOpenています。(Ethernetのクライアントポートではこの状態になることはありません。) |
2 | Connect | 回線が確立され通信可能状態です。(RS-232Cではこの状態になることはありません。) |
詳細状態を取得する場合
戻り値 | 回線の状態 | 説明 | 排他制御 | 他のタスクからのOpen |
---|---|---|---|---|
0 | Close | 回線はOpenされていません。 | 解除状態 | Open可 |
1 | Open(Task) | いずれかのタスクが回線をOpenしています。(Ethernetのクライアントポートではこの状態になることはありません。) | 実施中 | Open不可 |
2 | Connect(Task) | いずれかのタスクが回線を確立し、通信可能状態です。(RS-232Cではこの状態になることはありません。) | ||
3 | Open(None) | 回線がOpenされています。(回線をOpenしたタスクはすでに停止しています。) | 解除状態 | Open可(Open時にCPU負荷はかかりません) |
4 | Connect(None) | 回線が確立されています。(回線を確立したタスクはすでに停止しています。) |
関連項目
Comm.Open、 Comm.Close、 Comm.Output、 Comm.Input、 Comm.Clear、 Comm.Count、 データ通信
注意事項
自タスクがOpenしている場合も"1"を返します。
指定した回線番号のポートが存在しない場合は"0"を返します。
用例
'!TITLE "デンソーロボットプログラム"
Sub Sample_CommState
Dim aaa As Integer
For aaa = 4 to 7
If Comm.State(aaa) = 0 Then Comm.Open aaa
Next
If aaa = 8 Then PrintDbg "空きがありません"
End Sub
ID : 376