视觉命令和多任务处理联用

您可以在SPEL+的多个任务中执行视觉序列并检索结果。SPEL+自动处理内部视觉命令的执行,一次一个命令。当多个任务需要用到视觉系统时,以先来后到的原则执行命令。当有一个任务正在使用视觉系统时,其余任务将暂停(等待),直到第一个任务完成了当前的视觉命令的执行。
在一些情况下,您可以采用不同的相机在不同的任务中运行相同的序列。您将会希望在一个任务中运行序列并获得结果,而其他任务处于等待状态。使用SyncLock和SyncUnlock命令来锁定视觉系统,使其专用于一个任务,然后解锁,使其可用于其它任务。

Function VisionTask(camera As Integer)  
  Boolean found  
  Do  
    SyncLock 1 'Lock vision just for this task  
    VSet FindParts.Camera, camera  
    VRun FindParts  
    VGet FindParts.AllFound, found  
    SyncUnlock 1 ' Unlock vision for other tasks  
  Loop  
Fend