I tried to create a function to make a MoveAbsJ but i get an error: "Object reference not set to an instance of an object. I think its when i do this: rbAxis.Rax_1 = axis(1)
Do you got any clew?
Private Sub Button1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
Dim station As Station = TryCast(Project.ActiveProject, Station)
Dim value As Double
value = station.IOSignals(“Eixo1”).Value
station.IOSignals(“Eixo1”).Value = CDbl(value + 0.1)
Dim mech As Mechanism = station.ActiveTask.Mechanism
Logger.AddMessage(New LogMessage(“E1”))
’ Create a WorkObject and add it to the ActiveTask.
Dim myWobj As New RsWorkObject()
myWobj.Name = station.ActiveTask.GetValidRapidName(“myWobj”, “_”, 1)
station.ActiveTask.DataDeclarations.Add(myWobj)
Logger.AddMessage(New LogMessage(“E2”))
’ Create a ToolData and add it to the ActiveTask.
Dim myTool As New RsToolData()
myTool.Name = station.ActiveTask.GetValidRapidName(“myTool”, “_”, 1)
station.ActiveTask.DataDeclarations.Add(myTool)
Logger.AddMessage(New LogMessage(“E3”))
’ Create a PathProcedure.
Dim myPath1 As New RsPathProcedure(“myPath1”)
'station.ActiveTask.PathProcedures.Add(myPath1)
Logger.AddMessage(New LogMessage(“E6”))
’ Create a joint target to be able to create a MoveAbsJ move instruction.
Dim myJointTarget As New RsJointTarget()
myJointTarget.Name = station.ActiveTask.GetValidRapidName(“myJointTarget”, “_”, 1)
station.ActiveTask.DataDeclarations.Add(myJointTarget)
Logger.AddMessage(New LogMessage(“E7”))
’ Set the robot axis values.
Dim rbAxis As New RobotAxisValues()
Dim axis(6) As Double
axis(1) = 70.0
Logger.AddMessage(New LogMessage(“E7.1”))
axis(2) = CDbl(-30)
axis(3) = CDbl(30)
axis(4) = CDbl(-55.0)
axis(5) = CDbl(40)
axis(6) = CDbl(10)
Logger.AddMessage(New LogMessage(“E7.2”))
'RobotAxisValues.SetAxisValues(rbAxis, axis)
Logger.AddMessage(New LogMessage(“E7.0”))
rbAxis.Rax_1 = axis(1)
Logger.AddMessage(New LogMessage(“E7.1”))
rbAxis.Rax_2 = axis(2)
rbAxis.Rax_3 = axis(3)
rbAxis.Rax_4 = axis(4)
rbAxis.Rax_5 = axis(5)
rbAxis.Rax_6 = axis(6)
myJointTarget.SetRobotAxes(rbAxis, False)
’ Create a MoveAbsJ move instruction (this only makes sense if there is a mechanism in the station).
Dim myMoveAbsJ As New RsMoveInstruction(station.ActiveTask, “MoveAbs”, “Default”, myJointTarget.Name)
myPath1.Instructions.Add(myMoveAbsJ)
Logger.AddMessage(New LogMessage(“E9”))