Oport関数
指定された出力ビットの状態を返す関数です。
書式
Oport(出力ビット番号)
パラメーター
- 出力ビット番号
- I/Oの出力ビットを指定します。
戻り値
I/Oの指定出力ビットの状態を0または1の整数で返します。
- 0: オフ
- 1: オン
解説
Oportは、出力ビットの状態チェックを行います。入力ビットに対するSw命令の機能とよく似た働きをします。Oportが最もよく使われるのは、フィーダーやコンベヤーやグリッパーなどです。またI/Oを通じて機能するその他のデバイスのホストなどに接続されている出力ビットの状態チェックにも使われます。Oport関数でチェックされる状態は、1または0の値で返されます。これらの値は、指定された出力ビットがオンかオフかを示します。
注意
Oport と Swの違い
OportとSw命令には、重要な違いがあります。両者ともI/O状態のチェックに使われますが、チェックするI/Oのタイプが異なります。Sw命令では入力ビットのチェックを行います。Oport命令は、標準および拡張ハードウェアの出力ビットのチェックを行います。これらのハードウェアポートは、コントローラー外部のデバイスと交信する独立した出力ビットです。
参照
In関数, InBCD関数, MemIn関数, MemOff, MemOn, MemOut, MemSw関数, Off, On, OpBCD, Out, Sw関数, Wait
Oport関数使用例
下記は、出力ビット5をオンし、それがオンしているかチェックしてからプログラムを継続する例です。
Function main
TMOut 10
OnErr errchk
Integer errnum
On 5 '出力5をオン
Wait Oport(5)
Call mkpart1
Exit Function
errchk:
errnum = Err(0)
If errnum = 94 Then
Print "TIME Out Error Occurred during period"
Print "waiting for Oport to come on. Check"
Print "Output #5 for proper operation. Then"
Print "restart this program."
Else
Print "ERROR number ", errnum, "Occurred"
Print "Program stopped due to errors!"
EndIf
Exit Function
Fend
コマンドウィンドウからの簡単な操作例です。
> On 1
> Print Oport(1)
1
> Off 1
> Print Oport(1)
0
>