<< 向前        下一页 >>

ID : 2017

编程

编程示例

以下所示为协调功能的编程示例。

各程序的内容

MainPro.pcs

该程序为主程序。首先执行初始化处理,然后,非同步执行使主局、子局分别动作的程序。然后,执行进行协调动作的程序。

InitRobots.pcs

作为初始化处理,设定主局和子局的基准坐标的程序。

Robot0Pro.pcs

将Robot0(主局)移至动作点的程序。
默认机器人在最开始已设定为Robot0,因此无需指定Robot0即可记述指令。

Robot1Pro.pcs

将Robot1(子局)移至动作点的程序。
默认机器人在最开始已设定为Robot1,因此无需指定Robot1即可记述指令。

CoopRobotPro.pcs

该程序为协调功能的程序。
设定工具坐标、工件坐标,首先执行同步动作。然后夹持工件并进行协调动作。

<MainPro.pcs>

'!TITLE “多台机器人作业的程序示例”

#Include "InitRobots.pcs"
Sub Main 
	Call InitRobots '机器人0和机器人1的初始化
	
	Run Robot0Pro '机器人0的动作程序
	Run Robot1Pro '机器人1的动作程序
	
	Wait Not( Status( Robot0Pro ) = 3 ) '等待机器人0的动作程序结束
	Wait Not( Status( Robot1Pro ) = 3 ) '等待机器人1的动作程序结束
	
	Run CoopRobotPro '机器人0和机器人1的动作程序
	
End Sub

<InitRobots.pcs>

'!TITLE “机器人0和机器人1的初始化”

Sub Main
	Robot0.TakeArm '获取机器人0的控制权
	Robot1.TakeArm '获取机器人1的控制权
	
	'设定机器人的位置(面对面距离800mm的位置)
	Robot0.Base P( 0, 400, 0, 0, 0, -90 ) '变更机器人0的基准坐标
	Robot1.Base P( 0, -400, 0, 0, 0, 90 ) '变更机器人1的基准坐标
	
	
	Robot0.GiveArm '释放机器人0的控制权
	Robot1.GiveArm '释放机器人1的控制权
End Sub

<Robot0Pro.pcs>

'!TITLE “机器人0的动作程序
Sub Main
	'P1,P2,P3:机器人0的动作点
	
#Pragma Optimize( "DefaultRobot", 0 ) '将机器人0设定为默认机器人
	
	TakeArm 0 '获取机器人0的控制权
	
	Move P, @e P1 '将机器人0移至P1
	Move P, @e P2 '将机器人0移至P2
	Move P, @e P3 '将机器人0移至P3
	
End Sub

<Robot1Pro.pcs>

'!TITLE “机器人1的动作程序
Sub Main
	'P11,P12:机器人1的动作点
	
#Pragma Optimize( "DefaultRobot", 1 ) '将机器人1设定为默认机器人
	
	TakeArm 0 '获取机器人1的控制权
	
	Move P, @e P11 '将机器人1移至P11
	Move P, @e P12 '将机器人1移至P12
End Sub

<CoopRobotPro.pcs>

'!TITLE “机器人0和机器人1的动作程序”
Sub Main
	'主局的教导点:P21,P23,P24
	'子局的教导点:P22
	
	Robot0.TakeArm '获取机器人0的控制权
	Robot1.TakeArm '获取机器人1的控制权
	
	Robot0.ChangeTool 1 '变更机器人0的工具坐标
	Robot1.ChangeTool 1 '变更机器人1的工具坐标
	
	Robot0.ChangeWork 1 '变更机器人0的工件坐标
	Robot1.ChangeWork 1 '变更机器人1的工件坐标
	
	'将Robot0、Robot1移至作业趋近位置50mm
	SyncTime ( Robot0.Approach P, P21, 50 ),_ 
	 ( Robot1.Approach P, P22, 50 ), Next
	
	'将Robot0、Robot1移至作业点
	SyncTime ( Robot0.Move L, @e P21, Speed = 20 ),_
	 ( Robot1.Move L, @e P22, Speed = 20 )
	
	'夹持工件
	Robot0.SetHandIO 64, 1, 1 '机器人0的夹治具IO 64 ON
	Robot1.SetHandIO 64, 1, 1 '机器人1的夹治具IO 64 ON
	
	Delay 100
	
	'协调动作
	'机器人1根据机器人0自动进行动作
	Robot0.Move L, P23, Speed = 20, syncmove = Robot1
	Robot0.Move L, P24, syncmove = Robot1
End Sub

ID : 2017

<< 向前        下一页 >>