在很多时候,有多个任务具有动作命令指令。为了防止多个任务运行动作命令时,对仅有的一个机器人产生的控制冲突,有必要进行连锁处理。一个任务进行机器人控制时,另一个任务则会等待控制权。这样,各任务就可以完全按照预定的顺序执行各自的动作语句。
         通过 MemSw 与 Wait 指令同时使用,可以做任务间的互锁。
每个任务在执行动做之前,通过 MemSw 与 Wait 指令确认机器人可用之后,再开始动作指令的执行。
MemSw 函数     用于返回指定存储器I/O位的状态。
              格式        MemSw(位编号) 
              参数        位编号  以表示存储器I/O位编号的数值进行指定。
              返回值    指定的位为ON时返回“1” 返,为OFF时返回“0” 返。
              说明        MemSw用于返回1个存储器I/O位的状态。MemSw通常与MemOn及MemOff命令配套使用。
MemOn用于将指定的位设为ON。
MemOff则用于将指定的位设为OFF。
举例:
Function main Integer I MemOff 1 Xqt 2, task2 For i = 1 to 100 Wait MemSw(1) = Off //在进行 go 指令之前等待机器人的控制权Go P(i) MemOn 1      // go 指令执行之后,释放机器人的控制权Next I 
FendFunction task2 Integer I For i = 101 to 200 Wait MemSw(1) = On //在进行 go 指令之前等待机器人的控制权Go P(i) MemOff 1  //go 指令执行之后,释放机器人的控制权Next I 
Fend 利用命令窗口的简单操作示例。
> memon 1
> print memsw(1)
1
> memoff 1
> print memsw(1)
0