MemOff

メモリーI/Oの指定ビットをオフします。

書式
MemOff { ビット番号 | メモリーI/Oラベル }​

パラメーター

ビット番号
メモリーI/Oのビットを整数で指定します。
メモリーI/Oラベル
メモリーI/Oラベルを指定します。

解説
MemOffは、指定したメモリーI/Oのビットをオフ (0に)します。MemSw命令で指定したメモリービットの状態チェックを行います。Wait命令もメモリービットに使われ、指定したメモリーI/O状態になるまでシステムを待たせます。

注意


  • メモリーI/Oのオフ

    メモリーI/Oは、コントローラー再起動時にオフされます。非常停止, 安全扉開, プログラム終了, Reset, Epson RC+ 再起動では、オフされません。


参照
In関数, MemIn関数, InBCD関数, Off, On, MemOn, OpBCD, Oport関数, Out, MemOut, Sw関数, MemSw関数, Wait

MemOff使用例
下記は、それぞれが動作命令を起動する2つのタスクを使った例です。これら2つのタスクには、お互いに相手がロボット動作命令を終了したところで順番に制御をゲインするよう、インターロック機能が働いています。そのため、2つのタスクが順番にそれぞれ指示どおりの動作ステートメントを実行することができます。MemSwはWait命令とともに用いて、安全のために、再度動作を始める前に、メモリーI/Oビット1が適切な値になるのを待ちます。MemOnとMemOffは、正確に同期するように、メモリーI/Oをオン、またはオフします。

Function main
    Integer I
    MemOff 1
    Xqt 2, task2
    For I = 1 to 100
        Wait MemSw(1) = Off
        Go P(i)
        MemOn 1
    Next I
Fend


Function task2
    Integer I
    For I = 101 to 200
        Wait MemSw(1) = On
        Go P(i)
        MemOff 1
    Next I
Fend

下記は、コマンドウィンドウからの簡単な操作例です。

> MemOn 1        'メモリーI/Oビット1をオン
> Print MemSw(1)
1
> MemOff 1       'メモリーI/Oビット1をオフ
> Print MemSw(1)
0