MemSw関数

指定されたメモリーI/Oビットの状態を返します。

書式
MemSw(ビット番号)

パラメーター

ビット番号
メモリーI/Oビット番号を表わす数値で指定します。

戻り値
指定されたビットがオンのとき"1"を、オフのとき"0"を返します。

解説
MemSwは、1メモリーI/Oビットの状態を返します。MemSwには、通常MemOnとMemOff命令がセットで使われます。MemOnは指定されたビットをオンにし、MemOffは指定されたビットをオフします。

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

MemSw関数使用例
下記例では、2つのタスクが、それぞれが動作命令を起動する機能を持ちながら、一方がロボット制御をしていないときに、一方がロボット動作を制御するようインターロックしています。それにより、各々のタスクが与えられた動作ステートメントを、きちんと想定通りの順序にしたがって実行することができます。

MemSwは、Wait命令とともに使われることで、メモリーI/O ビット1が、次の動作を安全に行える適正な値になるまで待って、動作を再開します。

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