LINPUTB
【Ver.1.5 以降】

複数バイトデータをRS-232CおよびEthernetポートから入力します。

LINPUTB [#<ポート番号>,]<格納配列先頭要素>,<入力バイト数>[,WTIME=<タイムアウト時間> [,RVAL=<格納変数>]]
<ポート番号>
入力ポート番号
(1:コントローラRS-232Cポート、-1:μVisionボードRS-232Cポート
4~7:Ethernetサーバポート、8~15:Ethernetクライアントポート)
省略時 1:コントローラRS-232Cポート
<格納配列先頭要素>
入力データが格納される配列の先頭要素
<入力バイト数>
入力するデータのバイト数
<タイムアウト時間> [RC7_Ver2.2以降]
入力バイト数分の入力データがない場合、指定時間を経過した後にlinputb文の実行を終了し、次のコマンドに制御が移ります。単位はmsですが、実際の遅延時間は1/60s単位で増減します。
<格納変数> [RC7_Ver2.2以降]
<タイムアウト時間>の設定と対で使います。入力データを受けて正常に抜けた場合TRUE(1)が入り、タイムアウトで抜けたときは指定した変数にFALSE(0)が入ります。

配列の指定要素から、指定入力バイト数分だけ指定ポートからデータを入力します。

タイムアウト時間を設定せずに、このコマンドでデータ入力を行う場合、<入力バイト数>分のデータがポートに存在しない場合、無限待ちとなります。データの有無の確認にはcom_stateコマンドを使用してください。

'!TITLE "<タイトル>"
|
|
PROGRAM sample
|
|
defint li
|
|
·
|
|
·
|
|
LINPUTB #1, I64, 30
|
'I64からI93までにデータを連続してRS-232C
'ポートから入力
|
LINPUTB #1,I64, 30,WTIME=100,RVAL=li
|
'<入力バイト数>分の入力がない場合、100msec
'時間後次のコマンドへ処理が移ります。liには
'タイムアウトで抜けたことを表す0が入ります。
|
·
|
|
·
|
|
END
|
|