MemOn

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

書式
MemOn {ビット番号 | メモリーIOラベル}​

パラメーター

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

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

注意


  • メモリーI/Oのオフ

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


参照
In, MemIn, InBCD, Off, MemOff, On, OpBCD, Oport, Out, MemOut, Sw, MemSw, Wait

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

タスク同期には、SignalとWaitsig命令を使うこともできます。

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
> print memsw(1)
1
> memoff 1
> print memsw(1)
0