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