多工處理
在某些應用中,您可能會想控制機器人旁邊的其他設備(例如傳送帶)、拾取及放置單元等。透過多工處理,您便可控制其他設備執行專門的任務。
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