创建PF_Robot回调函数
在PF_Robot回调函数中记述机器人拾取与放置部件的运作。该函数按如下所述进行运作。(重复1~7。)
- 从部件坐标队列中获取平台上的部件坐标。
使用PF_QueGet。 - 将机器人移至部件位置。
使用Jump等。(为SCARA型机器人时) - 将吸附置为On等,然后抓取部件。
- 将机器人移至部件放置位置。
使用Jump等。(为SCARA型机器人时) - 将吸附置为Off等,然后释放部件。
- 删除1个部件坐标队列中的数据。
使用PF_QueRemove。 - 确认是否产生停止指令。如果产生,则退出循环。
使用PF_IsStopRequested。 - 作为返回值,返回PF_Robot = PF_CALLBACK_SUCCESS。
如下所述为PF_Robot回调函数示例。
另外,由于自动生成的PartFeeding.prg中记述有循环处理与1、6、7的处理,因此会记述剩余处理。
如下所述为程序中使用的标签等。
IO标签: Chuck(部件吸附)、UnVacumm(部件释放)
点标签:PlacePos(放置坐标)
Function PF_Robot(partID As Integer) As Integer
Do While PF_QueLen(partID) > 0
' Pick
P0 = PF_QueGet(partID)
Jump P0 ! Wait 0.1; Off UnVacumm !
On Chuck
Wait 0.1
' Place
Jump PlacePos
Off Chuck
On UnVacumm
Wait 0.1
' Deque
PF_QueRemove partID
' Check Cycle stop
If PF_IsStopRequested = True Then
Exit Do
EndIf
Loop
Off UnVacumm
PF_Robot = PF_CALLBACK_SUCCESS
Fend