Click or drag to resize
RsMoveInstructionJumpToAsync Method (Boolean, ConfigurationMode)
Jumps the mechanism, of corresponding task, to the position of the move instruction. Optionally updates the joint values in the virtual controller. Updating the joint values in the controller is time consuning compared to only updating the Mechanism joint value. If you need to frequently call this method, it is recomended to update the joint values in the controller, only for the last call.

Namespace:  ABB.Robotics.RobotStudio.Stations
Assembly:  ABB.Robotics.RobotStudio.Stations (in ABB.Robotics.RobotStudio.Stations.dll) Version: 7.0.8747.636
Syntax
C#
public Task<JumpResult> JumpToAsync(
	bool updateController,
	ConfigurationMode configurationMode
)

Parameters

updateController
Type: SystemBoolean
Specifies if the joint values in the controller shall be updated in addition to the joint values of the mechanism.
configurationMode
Type: ABB.Robotics.RobotStudio.StationsConfigurationMode
Specifies how the arm configuration stored in the target shall be used. In this case this method returns true only if the mechanism can move to the specified target with its specified arm configuration. Only valid for RsRobTargets.

Return Value

Type: TaskJumpResult
True if the operation is successful, otherwise false.
Examples
RsMoveInstruction Movement Methods Example
// NOTE: This example requires a station containing an IRB_140 and a running VC.
Project.UndoContext.BeginUndoStep("RsMoveInstructionMovementMethods");
try
{
    Station station = Station.ActiveStation;

    // Create a PathProcedure to add the move instructions to.
    RsPathProcedure myPath = new RsPathProcedure("myPath");
    station.ActiveTask.PathProcedures.Add(myPath);

    // Create a joint target corresponding to the robots home position.
    RsJointTarget myHomeJointTarget = new RsJointTarget();
    myHomeJointTarget.Name = "myHomeJT";
    station.ActiveTask.DataDeclarations.Add(myHomeJointTarget);

    // Set the robot axis values.
    RobotAxisValues rbHomeAxis = new RobotAxisValues();
    rbHomeAxis.Rax_1 = 0;
    rbHomeAxis.Rax_2 = 0;
    rbHomeAxis.Rax_3 = 0;
    rbHomeAxis.Rax_4 = 0;
    rbHomeAxis.Rax_5 = 30;
    rbHomeAxis.Rax_6 = 0;
    myHomeJointTarget.SetRobotAxes(rbHomeAxis, false);

    // Create another joint target to jump and move to.
    RsJointTarget myJointTarget = new RsJointTarget();
    myJointTarget.Name = "myJointTarget";
    station.ActiveTask.DataDeclarations.Add(myJointTarget);

    // Set the robot axis values.
    RobotAxisValues rbAxis = new RobotAxisValues();
    rbAxis.Rax_1 = 70.0000000000001;
    rbAxis.Rax_2 = -30;
    rbAxis.Rax_3 = 30;
    rbAxis.Rax_4 = -55.0000000000001;
    rbAxis.Rax_5 = 40;
    rbAxis.Rax_6 = 10;
    myJointTarget.SetRobotAxes(rbAxis, false);

    // Create a move instruction.
    RsMoveInstruction myMoveAbsJ = new RsMoveInstruction(station.ActiveTask, "MoveAbs", "Default", "myJointTarget");
    myPath.Instructions.Add(myMoveAbsJ);

    // Jump to the move instruction 'myMoveAbsJ'.
    if (myMoveAbsJ.JumpTo())
    {
        Logger.AddMessage(new LogMessage("The robot jumped successfully!"));
    }
    else
    {
        Logger.AddMessage(new LogMessage("The JumpTo command failed!"));
    }

    // Jump the robot to its home postition.
    myHomeJointTarget.JumpTo();

    // Move to the move instruction 'myMoveAbsJ'
    if (myMoveAbsJ.MoveTo())
    {
        Logger.AddMessage(new LogMessage("The robot moved successfully!"));
    }
    else
    {
        Logger.AddMessage(new LogMessage("The MoveTo command failed!"));
    }
}
catch
{
    Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
    throw;
}
finally
{
    Project.UndoContext.EndUndoStep();
}
Version Information

Supported in: 1.0.0.0
See Also