多任务处理

对于某些应用,您可能想控制除了机器人以外的其他设备,如传送带、取放装置等。通过使用多任务处理,您可以控制其他设备及其任务。

SPEL+支持同时运行32个常规任务和16个后台任务(共48个任务)。任务是一种已由系统或Xqt语句启动的函数。

使用Xqt语句从函数内启动另一项任务。您可以有选择地从Xqt语句中指定1至32的任务号。

从后台任务启动的任务作为后台任务启动。您可以同时执行16个后台任务。

下表显示了用于多任务处理的程序指令。

语句 描述
Xqt 将函数作为任务启动。
Halt 暂时中止执行任务。
Resume 恢复已停止的任务。
Quit 停止任务。
Signal 使用WaitSig将信号发送给正在等待信号的一个或多个任务。
SyncLock 通过当前任务锁定某使用资源,并防止其他任务使用该资源,直到执行了SyncUnlock。
WaitSig 等待来自另一个任务的信号。
Pause 暂停所有任务。

启动另一个任务的一个例子是运行机器人工作单元的传送带系统。

程序:MAINTASK.PRG

Function Main
  Xqt Conveyor    ' 启动传送带任务
  Do
    ...
    ...
  Loop
Fend

程序:CONVTASK.PRG

Function Conveyor
  Do
    Select True
      Case Sw(10) = On
        Off convCtrl
      Case Sw(11) = On
        On convCtrl
    Send
  Loop
Fend