Moves to homing position

Namespace: EAL.Interfaces.Motion
Assembly: EAL (in EAL.dll) Version: 1.1.5.0 (1.1.5.0)

Syntax

C#
void Home()
Visual Basic
Sub Home
Visual C++
void Home()

Examples

Synchronous method
 Copy imageCopy
private static void Sample()
{
    using (IEALConnection ealConnection = new EALConnection())
    {
        ealConnection.Connect("192.168.0.10", false, 10000, 2000, 500);                        // Eatablishes connection, with give least time, given busy timeout and with given max delay        
        // Gets axis
        IAxis axis = ealConnection.Motion.Axes[0]; 
        axis.Movement.Power(false);                            // Powers-off
        axis.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE_PARAMETERIZATION);   // Switches to  parameterisation mode
        ealConnection.Initialize();                                     // Initializes the axis
        axis.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE);                    // Switcehs to operating mode
        axis.Movement.Power(true);                             // Powers on.
        axis.Movement.Home();                                  // Executes Homing
        axis.Movement.MoveAbsolute(0, 400, 100, 100, 0);       // Moves the axis to position 10000 
        axis.Movement.Wait(10000);                             // Waits task until last movement command completes
        axis.Movement.MoveAbsolute(10000, 400, 100, 100, 0);   // Moves the axis to position 10000 
        axis.Movement.Wait(10000);                             // Waits task until last movement command completes 
        double actualPosition = axis.GetActualPosition();      // actualPosition will be 10000
    }
}
Asynchronous method
 Copy imageCopy
private static void Sample()
{
    using (IEALConnection ealConnection = new EALConnection(true))  // Asynchronous flag is true
    {
        ealConnection.Connect("192.168.0.10", false, 10000, 2000, 500);                        // Connect task will be added to queue
        // Gets axis
        IAxis axis = ealConnection.Motion.Axes[0]; 
        axis.Movement.Power(false);                            // Powers-off task will be added to the queue
        axis.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE_PARAMETERIZATION);   // Activate parameterisation mode task will be added to queue
        ealConnection.Initialize();                                     // Initializes the axis
        axis.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE);                    // Activate Operating mode task will be added to queue
        axis.Movement.Power(true);                             // Powers on task will be added to queue.
        axis.Movement.Home();                                  // Homing task will be added to queue.
        axis.Movement.MoveAbsolute(0, 400, 100, 100, 0);       // Moves the axis to position 10000 task will be added queue
        axis.Movement.Wait(10000);                             // Wait until last movement command completes task will be added to queue
        axis.Movement.MoveAbsolute(10000, 400, 100, 100, 0);   // Moves the axis to position 10000 
                                                                // task will be added to queue.
        axis.Movement.Wait(10000);                             // Waits until last movement command completes task will be added to queue
        ealConnection.WaitUntilQueueComplete();                         // Now it will wait untill all tasks in the queue are executed.        
        double actualPosition = axis.GetActualPosition();      // actualPosition will be 10000
    }
}

See Also