Option Explicit ' Cao Object Private CaoEng As CaoEngine Private CaoWS As CaoWorkspace Private WithEvents CaoCtrl As CaoController Private CaoRobo As CaoRobot Private Posisi_Joint_and_XY(0 To 1) As CaoVariable Private DerajatJoint(0 To 7) As Single 'tombol Private Sub Btn_Pilot_to_Robot_OFF_Click() Btn_Pilot_to_Robot_ON.Enabled = True Btn_Pilot_to_Robot_OFF.Enabled = False Timer1 = False End Sub Private Sub Btn_Pilot_to_Robot_ON_Click() Btn_Pilot_to_Robot_ON.Enabled = False Btn_Pilot_to_Robot_OFF.Enabled = True Timer1 = True End Sub 'tombol hubungkan ditekan Private Sub BtnHubungkan_Click() If (CaoCtrl Is Nothing) Then Connect Else Disconnect End Sub Private Sub Form_Load() Set CaoEng = New CaoEngine Set CaoWS = CaoEng.Workspaces(0) Btn_Pilot_to_Robot_ON.Enabled = False Btn_Pilot_to_Robot_OFF.Enabled = False End Sub 'tombol Go untuk menggerakkan robot Private Sub Go_Button_Click() DerajatJoint(0) = CInt(InputX) DerajatJoint(1) = CInt(InputY) DerajatJoint(2) = CInt(InputZ) DerajatJoint(3) = CInt(InputRX) 'DerajatJoint(4) = CInt(InputRY) DerajatJoint(5) = CInt(InputRZ) On Error Resume Next CaoRobo.Move 1, Array(DerajatJoint, "J", "@P") 'pilih Joint lalu gerakkan robotnya 'CaoRobo.Move 1, Array(DerajatJoint, "P", "@P") 'pilih Point lalu gerakkan robotnya DoEvents End Sub 'koneksi kan ke robot denso Private Sub Connect() On Error GoTo ErrProc Dim sConn As String sConn = "Conn=eth:" & IP_Denso.Text & ", Invisible=True, Timeout=800" Set CaoCtrl = CaoWS.Controllers.Add("", "CaoProv.DENSO.NetwoRC", "", sConn) With CaoCtrl Set CaoRobo = .AddRobot("RC7M") If (CaoRobo Is Nothing) Then GoTo ErrProc Set Posisi_Joint_and_XY(0) = CaoRobo.AddVariable("@CURRENT_ANGLE") Set Posisi_Joint_and_XY(1) = CaoRobo.AddVariable("@CURRENT_POSITION") End With BtnHubungkan.Caption = "&1 Putuskan" Btn_Pilot_to_Robot_ON.Enabled = True Btn_Pilot_to_Robot_OFF.Enabled = False Timer1 = False Exit Sub ErrProc: MsgBox "Gagal Koneksi" End Sub 'matikan hubungan dengan robot denso Private Sub Disconnect() If Not CaoCtrl Is Nothing Then CaoWS.Controllers.Remove CaoCtrl.Index Set CaoCtrl = Nothing BtnHubungkan.Caption = "&1 Hubungkan" Btn_Pilot_to_Robot_ON.Enabled = False Btn_Pilot_to_Robot_OFF.Enabled = False End If End Sub Private Sub Timer1_Timer() On Error Resume Next 'mengambil nilai joint J1 - j6 Denso_Joint.Text = "J1= " & CSng(Posisi_Joint_and_XY(0)(0)) & vbCrLf & _ "J2= " & CSng(Posisi_Joint_and_XY(0)(1)) & vbCrLf & _ "J3= " & CSng(Posisi_Joint_and_XY(0)(2)) & vbCrLf & _ "J5= " & CSng(Posisi_Joint_and_XY(0)(4)) & vbCrLf & _ "J6= " & CSng(Posisi_Joint_and_XY(0)(5)) 'mengambil koordinat end of effector Denso_EoE.Text = "X= " & CSng(Posisi_Joint_and_XY(1)(0)) & vbCrLf & _ "Y= " & CSng(Posisi_Joint_and_XY(1)(1)) & vbCrLf & _ "Z= " & CSng(Posisi_Joint_and_XY(1)(2)) & vbCrLf & _ "RX= " & CSng(Posisi_Joint_and_XY(1)(3)) & vbCrLf & _ "RY= " & CSng(Posisi_Joint_and_XY(1)(4)) & vbCrLf & _ "RZ= " & CSng(Posisi_Joint_and_XY(1)(5)) End Sub
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)