ID : 2368
在协调功能中使用电动夹治具的方法
利用连接到主局控制器的多功能教导器,可以对连接到各机器人控制器的电动夹治具进行操作/设定。
此外,在编程时可以使用Robot名,指定要动作的电动夹治具。
上述内容可以从机器人控制器软件版本1.13.*以上开始使用。
通过协调功能使用电动夹治具时,还可以设想将连接到Robot1机器人控制器的电动夹治具安装到Robot0的前端使用的场景。
此时,连接电动夹治具的机器人控制器和安装电动夹治具的机器人会出现不一致。
在这种状况下,操作/设定虽然不是直观,但是机器人控制器中却有可进行直观操作/设定的功能(将机器人名和电动夹治具关联)。
上述内容可以从机器人控制器软件版本2.5.*以上开始使用。
操作/设定方法
虽然基本上都是从主局控制器进行操作/设定,但是只有许可证注册,请通过子局控制器进行。
许可证注册
需要为使用电动夹治具的每个控制器注册许可证。
请将多功能教导器或小型教导器连接到子局控制器,再注册许可证。
机器人的选择
通过连接到主局控制器的多功能教导器操作/设定机器人基本上都是针对指定为领导的机器人进行。
因此,在操作/设定连接到子局控制器的电动夹治具时,将该子局控制器的机器人指定成领导。
以下画面为使2台机器人联动时的画面。
按下画面上方的“机器人选择”按钮,选择机器人名“R1”,再按下“OK”,就可以将Robot1设为领导。
如果在初期设定画面上切换为夹治具画面,将进入设为领导的机器人的夹治具画面。在上方的状态栏显示机器人编号。
关联机器人名和电动夹治具
该功能可以从机器人控制器软件版本2.5.*以上开始使用。
通过协调功能使用电动夹治具时,还可以设想将连接到Robot1机器人控制器的电动夹治具安装到Robot0的前端使用的场景。
下图为表示上述情景的图。
此时,由于电动夹治具控制安装在Robot1的机器人控制器上,因此在操作/设定Robot0的电动夹治具时,就必须要将Robot1指定成领导。
虽然上述内容并不直观,但是机器人控制器中却有可进行直观操作的"SelectHand"。
"SelectHand"是一种用于控制电动夹治具的PacScript指令。使用前需要进行设定。
设定参数位于"VRC设定"中。
将用户等级设为“维护”进行操作。
操作路径:[F6 设定]-[F2 系统信息]-[F6 VRC设定] |
如果按照上述操作路径操作,则显示“VRC设定”视窗。
No.390~397为SelectHand的设定参数,因此选择其中的一个,按下[F5 编辑],即显示如下画面。
"SelectHand"变成排列,要素编号的含义如上图所示。
在上图的设定画面中,设定在使用"SelectHand[0,0]"时实际控制哪个电动夹治具。
例如,可能是下图所示的系统构成时。
如果如下图一样对VRC设定进行设定,在使用"SelectHand[0,0]"时,就会控制安装在Robot0上的电动夹治具。
此外,在使用"SelectHand[1,0]"时,就会控制安装在Robot1上的电动夹治具,从而可以进行直观地编程。
通过该设定,不仅仅是PacScript,在多功能教导器上的操作/设定思路会也一样(例如,安装在Robot0上的电动夹治具可以通过将Robot0指定成领导进行操作/设定)。
除了将机器人名和电动夹治具进行关联的功能之外,SelectHand指令和Hand指令的功能基本相同。详细内容请参照之后的“关于指令”。
电动夹治具的使用设定
实施电动夹治具使用设定的STEP3~8。
关于指令
使用方法有2种,包括使用SelectHand指令的方法和使用机器人名的方法。
使用SelectHand指令的方法
该功能可以从机器人控制器软件版本2.5.*以上开始使用。
SelectHand指令对关联的电动夹治具进行控制(关于关联,请参照"关联机器人名和电动夹治具")。
除了将机器人名和电动夹治具进行关联的功能之外,SelectHand指令和Hand指令的功能基本相同。
此外,语法和Hand指令的"Hand[n]."后续字符串相同(请参照下图)。
例如,打开与SelectHand[0,0]关联的电动夹治具电机电源时,
记述为SelectHand[0,0].Motor On
。
机器人名的使用方法
在Hand指令前面附上安装有电动夹治具控制板的机器人控制器机器人名进行使用。
不会反映"SelectHand"的设定。
使用机器人名的Hand指令应用示例如下所示。
应用示例
'!TITLE “电动夹治具动作”
Sub Main
TakeArm Keep = 0
Motor On
If Robot0.Hand[0].MotorState = False Then
Robot0.Hand[0].Motor On
End If
If Robot1.Hand[0].MotorState = False Then
Robot1.Hand[0].Motor On
End If
If Robot0.Hand[0].OrgState = False Then
Robot0.Hand[0].Org
End If
If Robot1.Hand[0].OrgState = False Then
Robot1.Hand[0].Org
End If
'Robot0的夹持动作
Robot0.Move P, @0 P0
Robot0.Depart L, @E -50, S = 20
Robot0.Hand[0].Chuck 0
Wait Robot0.Hand[0].HoldState = -1
Robot0.Depart L, @E 20, S = 20
Robot0.Depart L, @E -20, S = 20
Robot0.Hand[0].Unchuck 1
Robot0.Depart L, @E 50, S = 20
Move P, @0 P1
'Robot1的夹持动作
Robot1.Move P, @0 P2
Robot1.Depart L, @E -50, S = 20
Robot1.Hand[0].Chuck 0
Wait Robot1.Hand[0].HoldState = -1
Robot1.Depart L, @E 20, S = 20
Robot1.Depart L, @E -20, S = 20
Robot1.Hand[0].Unchuck 1
Robot1.Depart L, @E 50, S = 20
Robot1.Move P, @0 P1
'Robot0、Robot1的同时夹持动作
Robot0.Hand[0].MoveH 50, 80, Next
Robot1.Hand[0].MoveH 50, 80
Delay( 500 )
Move P, @0 P1,SyncTime = Robot1
Robot0.Hand[0].MoveA 0, 80, Next
Robot1.Hand[0].MoveA 0, 80
Robot0.Move P, @0 P0, SyncTime = Robot1
End Sub
ID : 2368