Robot.Attached=1
Move.Loc(loc1,speed)
Move.WaitForEOM
Move.Loc(loc2,speed)
Move.WaitForEOM
6.右击文件,点击Load Project to Conttroller memory 即可运行程序
Module GPL
Public Sub MAIN
'定义变量
Dim Offset As Location
Dim Loc_1 As New Location
Dim Loc_2 As New Location
Dim New_Tool As New Location
Dim Z_Offset As Double
Dim stg As String
Dim but As Integer
'世界坐标系
Robot.Tool = Location.XYZValue(0,0,0,0,0,0)
Z_Offset = 0
'Loc_1是在世界坐标系下定义的一个合适的点,这六个参数分别为点位的X,Y,Z,Yaw,PItch,Roll,
'在示教器上方就能知道当前点位的数值
'Loc_2是在世界坐标系下的另一个点位,将Loc_1按正方向或负方向旋转180°(Jog To),得到一个点Loc,
'再用示教器将尖端移动到Loc_1的点位,记录当前点位为Loc_2
Loc_1.XYZ(366.966,-447.176,-228.666,0,180,179.867)
Loc_2.XYZ(490.172,-371.169,-228.666,0,180,-0.133)
Offset = Loc_2.Inverse.Mul(Loc_1)
New_Tool.XYZ(Offset.X/2, Offset.Y/2, Z_Offset, 0, 0, 0)
stg = CStr(New_Tool.X) & ", " & CStr(New_Tool.Y) & ", " & _
CStr(New_Tool.Z) & ", " & CStr(New_Tool.Yaw) & ", " & _
CStr(New_Tool.Pitch) & ", " & CStr(New_Tool.Roll)
Controller.ShowDialog("Done", "New Tool: " & stg, but)
End Sub
End Module
运行程序,将弹出对话框,为新的工具坐标系的参数,复制,代替原来的世界坐标系,即
‘工具坐标系
Robot.Tool = Location.XYZValue(61.69, -37.86, 0, 0, 0, 0)
再次运行程序,工具坐标系就建立好了,可以进行验证。打开示教器,点击世界坐标的最后一个参数,点击±,可以发现机械手不是绕着z轴旋转了,而是绕着刚才标定的那个点进行旋转。此坐标系可以配合视觉,定位物料再进行旋转抓取。
*注意:建立完新的工具坐标系后,同一个点位,x,y会和世界坐标系不一样,所以此功能使用完后注意切换坐标系,不然点位坐标会乱套。切换坐标系就很简单了,只需要一行代码
'世界坐标系
Robot.Tool = Location.XYZValue(0,0,0,0,0,0)
Public Function SysInit() As Integer
Dim stt As Integer=0 '定义变量
Dim ex As New Exception '定义异常信息
Try
Console.WriteLine("Enter SysInit")
#Region 客户端连接部分
'初始化变量
mSeverEp = New IPEndPoint(,PORT_NUM)
mTcpListen=New TcpListener(mSeverEp)
'开始监听请求
mTcpListen.Start()
'没有连接请求时,线程睡眠1s,等待连接
Console.WriteLine("WaitConnect")
While Not mTcpListen.Pending()
Thread.Sleep(1000)
End While
Console.WriteLine("Connect Success")
'获取套接字
mSocket=mTcpListen.AcceptSocket()
'停止监听连接请求
mTcpListen.Stop()
'发送连接成功信息至客户端
mSocket.send("Connect Success" &Chr(GPL_LF))
Console.WriteLine("send Connect Success")
'机器人上电
If Not Controller.PowerEnabled Then
Controller.PowerEnabled=True
End If
'连接机器人
If Robot.Attached <> 1 Then
Robot.Attached=1
Console.WriteLine("Robot.Attached=1")
End If
'机器人回原
Robot.Home()
Console.WriteLine("Robot.Home")
'输出信号初始化
'初始化完成,自动运行步数初始化
AutoStep=0
Catch ex
Console.WriteLine("SysInit:" & ex.Message)
End Try
End Function