用法
1. 基本示例
以下程序只是一个样例,即将任何触发信号连接到控制器的R-I/O连接器上,在触发输入端运行时锁存机器人的位置信息,并显示锁存位置信息。
Function Main
Motor On
Power High
Speed 50; Accel 50, 50
SpeedS 500; AccelS 5000
Go P0 '起始位置
SetLatch SETLATCH_PORT_CU_0, SETLATCH_TRIGGERMODE_LEADINGEDGE, 4
LatchEnable On '启用锁存
Move P1 '开始运行,运行时触发输入
Wait LatchState = True '确认完成锁存
P3 = LatchPos(WithoutToolArm, 1) '获取锁存位置1
P4 = LatchPos(WithoutToolArm, 2) '获取锁存位置2
P5 = LatchPos(WithoutToolArm, 3) '获取锁存位置3
P6 = LatchPos(WithoutToolArm, 4) '获取锁存位置4
LatchEnable Off '锁存无效
Print P3 '显示锁存位置1
Print P4 '显示锁存位置2
Print P5 '显示锁存位置3
Print P6 '显示锁存位置4
Fend
省略参数时的程序示例
Function Main
Motor On
Power High
Speed 50; Accel 50, 50
SpeedS 500; AccelS 5000
Go P0 '起始位置
SetLatch SETLATCH_PORT_CU_0, SETLATCH_TRIGGERMODE_LEADINGEDGE
LatchEnable On '启用锁存
Move P1 '开始运行,运行时触发输入
Wait LatchState = True '确认完成锁存
P3 = LatchPos '获取锁存的位置
LatchEnable Off '锁存无效
Print P3 '显示锁存的位置
Fend
2. 视觉系统示例
这是一个例子,使用机器人夹具末端搬运工件,不停地通过外部固定向上相机采集点上方,并通过适当的位置校正来组装工件。
该系统有一个传输型传感器,可在机器人的夹具末端搬运工件并通过相机采集点输出触发信号。然后,它将传感器输出连接到R-I/O和相机触发器上进行外部调谐,并同步锁存的机器人位置信息及相机图像。它计算工件的位置误差,并将相机图像中的机器人位置信息与实时I/O中的机器人位置信息进行比较来纠正这个位置的偏移。
在这种情况下,机器人视觉系统必须作为固定向上相机进行校准。此外,通过预先注册工件位置,就可以使用CalRobotPlacePos结果获取用于精确放置工件的机器人位置信息。工件放置位置可以在CalRobotPlacePos属性向导中设置。
有关相机触发信号的连接和视觉校正的详细说明,请参阅以下手册。
《视觉指南8.0》
下面的程序是一个样例。
Function Main
Robot 1
Motor On
Power High
Speed 100
Accel 100, 100
Jump InitPos '移至起始位置
Wait 1.0
SetLatch 24, SETLATCH_TRIGGERMODE_LEADINGEDGE '设置锁存条件
MemOff 0
Xqt PictureOnFly_Camera '开始拍摄任务
Jump StartPos C0 '移至工件进给点
Wait 0.5
LatchEnable On '开始等待锁存
MemOn 0 '启用拍照
Jump FrontPos C0 CP '移向相机上方前侧
Go PassingPos CP '越过相机
Go TargetPos :Z(-70) CP '移动至组装点上方
Wait MemSw(1) = On '等待图像处理完成
Wait LatchState = True '等待位置锁存完成
LatchEnable Off '禁用位置锁存
Jump ExactTargetPos C0 LimZ (-70) '移动至组装点
Wait 0.5
Jump InitPos '移至起始位置
Wait 0.5
Motor Off
Fend
执行从工件图像捕捉到工件位置获取的功能
Function PictureOnFly_Camera
'视觉效果变量
Integer AcqStat '频闪成像完成标志
Boolean Found '工件检测状态
Wait MemSw(0) = On '等待成像开始标志
MemOff 1 '清除成像完成标志
MemOff 0 '清除成像开始标志
AcqStat = 0 '清除频闪成像标志
VRun PictureOnFly_i
Do Until AcqStat = 3 '等待频闪
VGet PictureOnFly_i.AcquireState, AcqStat
Loop
'检查已检测到工件
VGet PictureOnFly_i.Geom01.Found, Found
If Found = False Then
Print "Work NotFound"
Pause
EndIf
Wait LatchState = True '等待触发
'在拍摄位置(触发位置)中设定视觉
VSet PictureOnFly_i.RobotPos, LatchPos (WithoutToolArm)
'获取机器人位置
VGet PictureOnFly_i.Geom01.RobotPlacePos, Found, ExactTargetPos
MemOn 1 '变更相机成像标志
Fend