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
>