VCal语句
适用
视觉校准
说明
通过VCal可从SPEL+程序运行视觉校准。
用法
VCal Calibration [, var]
- Calibration
- 要校准的校准名
- var
- 表示返回状态的整数变量。可省略。
值
在var中返回状态。
如果用户单击[OK]按钮,var含有“1”。
如果用户单击[取消]按钮,var含有“0”。
详细说明
校准定义必须在运行校准前从Vision Guide窗口设定或使用VCreateCalibration创建。此外,校准点必须已示教,或者可以使用控制器中含有校准所需点数据并与校准名称相同的点文件。如果Epson RC+找到该点文件,将使用文件中的点。请参考下面的示例。
使用VCal执行校准后,必须调用VSave保存新的校准数据。
NOTE:
用于校准的相机连接至紧凑型视觉时,Epson RC+需要连接至机器人控制器。否则命令将导致执行错误。
例1
在例1中,禁用AutoReference属性并启用AutoCamPoints属性,执行移动J6相机校准。
Function CalMobileJ6
String cal$
cal$ = "mycal"
VCreateCalibration 1, cal$
VSet cal$.CameraOrientation, VISION_CAMORIENT_MOBILEJ6
VSet cal$.TargetSequence, "calSeq"
VSet cal$.AutoReference, False
VSet cal$.AutoCamPoints, True
VCalPoints cal$
VCal cal$
VSave
Fend
例2
在例2中,执行固定向下相机的校准时使用通过已校准移动相机的九个点识别结果代替实施示教。
Function CalFixedCamera
Integer i, status
Boolean found
Real x, y, u
String obj$
' "mobileCal" is a sequence with 9 blobs
' that uses a mobile calibration.
' First we search with the mobile camera
Jump mobileCamView
VRun mobileCal
VGet mobileCal.AllFound, found
If Not found Then
MsgBox "Could not find all targets"
Exit Function
EndIf
For i = 1 TO 9
obj$ = "blob0" + Str$(i)
VGet mobileCal.obj$.RobotXYU, found, x, y, u
' Save each target point in robot coordinates
P(i) = XY(x, y, 0, 0)
Next i
' Save the points for VCal to use
' Note that "fixed" is the name of the calibration
SavePoints "fixed.pts"
Jump clearFixed
' Calibrate the fixed camera calibration scheme
VCal fixed, status
If status = 1 Then
VSave
EndIf
Fend
参照
ShowConfirmation属性、VCalPoints、VCreateCalibration、视觉序列、VSave
← V VCalPoints语句 →