PF_ReleaseFeeder

解除通过PF_AccessFeeder获取的锁定(所有权)。
PF_AccessFeeder与PF_ReleaseFeeder用于在多台机器人/1台送料器系统中锁定/解锁对送料器的访问,以防止机器人之间的碰撞。2台机器人同时共享同一送料器时,需要使用这些命令。

示例:
在任务1中执行PF_AccessFeeder 1。继续执行任务1。
如果在任务2中执行PF_AccessFeeder 1,则会暂停任务2。
如果在任务1中执行PF_ReleaseFeeder 1,则会重新开始任务2。

本命令可记述在运作命令的并行处理 (!...!) 中。

格式
格式1:PF_ReleaseFeeder 送料器编号/送料器名称
格式2:运作命令 ! [Dn;] PF_ReleaseFeeder 送料器编号/送料器名称 !

参数

  • 送料器编号
    以表达式或数值(整数:1~4)指定送料器编号。
  • 送料器名称
    指定送料器标签(字符串)。
  • 运作命令
    Arc、Arc3、Go、Jump、Jump3、Jump3CP、Move、BGo、BMove、TGo、TMove之一
  • Dn
    以%指定按机器人移动路径上哪个位置开始并行处理
    (请参阅“Epson RC+ 8.0 SPEL+语言参考 !...! 并行处理”)

返回值

描述
仅可在同一任务内解锁。
不能通过虚拟控制器与命令窗口执行。

使用示例
下例所述为获取送料器上最后1个部件并到达移动到放置位置的路径的50%位置时,将控制返还给PF_Start,开始视觉系统拍摄于送料器运作的情况。

Function main  
    Motor On
    Do while True
        PF_AccessFeeder 1
    	PF_Start(1)
    Loop
Fend

Function PF_Robot(partID As Integer)
    Xqt Task_PF_Robot(partID)
    PF_Robot = PF_SUCCESS
Fend

Function Task_PF_Robot(partID As Integer)
    PF_AccessFeeder 1

    Integer i
    For i = 1 to numToPick
        pick = PF_GetQue(PartID)
        PF_QueRemove(PartID)
        Jump pick
        On gripperOutput
        Wait 0.1
        If i < numToPick And PF_QueLen(PartID) > 0 Then
            Jump place
        Else
            ' Last part, so release the feeder at 50%
            Jump place !D50; PF_ReleaseFeeder 1!
        EndIf
        Off gripperOutput
        Wait 0.1
    Next i
Fend